文件的写入和读出

open()函数的使用:

open(filemode='r'buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)

open()函数打开文件并且返回一个文件对象,我们常用的参数只有file、mode、encoding三种

file——文件名

mode——一个可选字符串,用于指定打开文件的模式。默认'r',表示只读模式,可选项有:

字符含义
‘r’开放阅读(默认模式)
'w'打开写入,会删除文件中已有的内容
‘a’打开以进行写入,如果存在则附加到文件的末尾
'b'二进制模式
‘t’文字模式(默认)
‘+’打开磁盘文件
‘U’通用换行模式(已弃用)

 

常用的mode组合

1、r或rt    默认模式,文本模式读
2、rb      二进制文件
3、w或wt    文本模式写,打开前文件存储被清空
4、wb    二进制写,文件存储同样被清空 
5、a   追加模式,只能写在文件末尾
6、a+  可读写模式,写只能写在文件末尾 
7、w+ 可读写,与a+的区别是要清空文件内容
8、r+   可读写,与a+的区别是可以写到文件任何位置 

encoding  = 'utf8',使用utf-8编码,避免出现乱码的现象

### 如何在编程中写入读取文件 对于文件写入与读取操作,在不同编程语言中有不同的实现方式。这里将以 Python Java 为例来展示具体的代码示例。 #### 使用Python进行文件写入与读取 Python 提供了一种简单而直观的方法来进行文件的操作: ##### 文件写入 当需要向文件写入数据时,可以使用 `open()` 函数打开文件并指定模式为 `'w'` 或者 `'a'` 来覆盖或追加内容到文件中[^2]。 ```python with open('example.txt', 'w') as file: file.write("Writing data into this text file.\n") ``` ##### 文件读取 为了从文件中读取数据,同样可以通过 `open()` 函数以只读模式 (`'r'`) 打开文件,并通过 `.read()`, `.readline()`, 或者迭代器的方式逐行读取文件中的每一行。 ```python with open('example.txt', 'r') as file: content = file.read() print(content) ``` #### 使用Java进行JSON文件写入与读取 如果目标是在 Java 中处理 JSON 文件,则可借助像 Gson 这样的库完成此任务[^4]。 ##### JSON文件写入 下面是一个简单的例子展示了如何创建一个新的 JSON 对象并将它保存至文件中: ```java import com.google.gson.Gson; public class Main { public static void main(String[] args) throws IOException { String jsonContent = new Gson().toJson(new Message("Hello")); try (FileWriter writer = new FileWriter("message.json")) { writer.write(jsonContent); } } private static class Message { private final String message; Message(final String msg){ this.message=msg; } } } ``` ##### JSON文件读取 要解析已有的 JSON 文件,可以从磁盘加载其字符串表示形式再转换回对象实例: ```java import java.io.FileReader; import com.google.gson.Gson; public class Main { public static void main(String[] args) throws FileNotFoundException { try (final FileReader reader = new FileReader("message.json")){ final Message obj = new Gson().fromJson(reader, Message.class); System.out.println(obj.getMessage()); } catch (IOException e) { e.printStackTrace(); } } private static class Message { private String message; // Getter method for accessing the value of message field. public String getMessage(){ return this.message; } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值