Java——简单的文件读取和写入

 这段代码是一个简单的文件读取和写入的例子。它创建了一个BufferFile类,构造方法接受一个文件名作为参数。
BufferFile类中的write方法用于从标准输入读取内容,并将其写入到指定的文件中,直到输入"end"为止。
read方法用于读取指定文件中的内容,然后逐行打印出来。
main方法中,创建一个BufferFile对象,并调用其writeread方法进行文件读写操作。

 

package ch6;
import java.io.*;
public class 例84
{
	
	public static void main(String[] args)
	{
		// TODO Auto-generated method stub
			BufferFile bf=new BufferFile("input.txt");
			try {
				bf.write();
				bf.read();
			}catch (IOException ex) {
				ex.printStackTrace();
			}
		}
}
class BufferFile{
		private String filename;
		public BufferFile(String filename) {
			this.filename=filename;
		}
		public void write() throws IOException{
			BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
			BufferedWriter writer=new BufferedWriter(new FileWriter(filename));
			String line;
			while (!(line=reader.readLine()).equals("end")) {
				writer.write(line);
				writer.newLine();
			}
			writer.flush();
			reader.close();
			writer.close();
		}
		public void read() throws IOException{
			BufferedReader reader=new BufferedReader(new FileReader(filename));
			System.out.println("文件名:"+this.filename);
			String line;
			while ((line=reader.readLine())!=null) {
				System.out.println(line);
			}
			reader.close();
		}
}

这是一个Java程序,它实现了一个简单的文件读写功能。程序的基本流程如下:

  1. 程序的导入部分:

    package ch6;
    import java.io.*;
    

    这部分代码指定了程序所属的包,并导入了java.io和java.io.BufferedReader类,用于处理输入输出操作。

  2. 主类的定义部分:

    public class 例84 {
    

    这部分代码定义了一个名为"例84"的公共类,该类包含了程序的主方法和其他成员方法。

  3. 主方法的定义部分:

    public static void main(String[] args) {
    

    这部分代码定义了一个名为"main"的公共静态方法,作为程序的入口点。

  4. 对象创建部分:

    BufferFile bf = new BufferFile("input.txt");
    

    这部分代码创建了一个BufferFile对象bf,传入了一个名为"input.txt"的文件名作为参数。

  5. 文件写入部分:

    bf.write();
    

    这部分代码调用BufferFile对象bf的write()方法,实现将用户从控制台输入的内容写入到名为"input.txt"的文件中。

  6. 文件读取部分:

    bf.read();
    

    这部分代码调用BufferFile对象bf的read()方法,实现从名为"input.txt"的文件中读取内容并在控制台打印输出。

  7. BufferFile类定义部分:

    class BufferFile {
        // 类定义的其他成员变量和方法
    
        public BufferFile(String filename) {
            // 构造方法的实现
        }
    
        public void write() throws IOException {
            // write()方法的实现
        }
    
        public void read() throws IOException {
            // read()方法的实现
        }
    }
    

    这部分代码定义了一个名为BufferFile的类,该类包含了一个构造方法和两个方法:write()和read()。构造方法用于接受并设置文件名,write()方法用于将用户输入的内容写入文件,read()方法用于从文件中读取内容并打印输出。

请注意,程序中涉及到文件的读写操作,对应的类为BufferedReader、InputStreamReader、BufferedWriter、FileWriter、FileReader。在写入文件时,用户可以逐行输入内容,输入"end"表示结束输入。

你可以使用Java的IO流和字符串操作来修改txt文件中某一行的内容。具体步骤如下: 1. 创建一个File对象来表示要修改的txt文件。 2. 创建一个BufferedReader对象来读取txt文件内容。 3. 创建一个StringBuilder对象来存储修改后的txt文件内容。 4. 通过BufferedReader对象逐行读取txt文件内容,并在需要修改的行进行字符串替换操作。 5. 将修改后的内容写入StringBuilder对象中。 6. 关闭BufferedReader对象。 7. 创建一个FileWriter对象来写入修改后的内容。 8. 将StringBuilder对象中的内容写入txt文件。 9. 关闭FileWriter对象。 下面是一个修改txt文件中某一行内容的示例代码: ```java import java.io.*; public class ModifyTxtFile { public static void main(String[] args) { String filePath = "test.txt"; // 要修改的txt文件路径 int lineNumber = 3; // 要修改的行号 String newLineContent = "This is the new line content."; // 修改后的内容 try { // 创建File对象 File file = new File(filePath); // 创建BufferedReader对象 BufferedReader reader = new BufferedReader(new FileReader(file)); // 创建StringBuilder对象 StringBuilder sb = new StringBuilder(); // 逐行读取txt文件内容并进行替换操作 String line; int lineNum = 1; while ((line = reader.readLine()) != null) { if (lineNum == lineNumber) { sb.append(newLineContent).append(System.lineSeparator()); // 添加修改后的内容 } else { sb.append(line).append(System.lineSeparator()); // 添加原内容 } lineNum++; } // 关闭BufferedReader对象 reader.close(); // 创建FileWriter对象 FileWriter writer = new FileWriter(file); // 将StringBuilder对象中的内容写入txt文件 writer.write(sb.toString()); // 关闭FileWriter对象 writer.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个示例中,我们将第3行的内容修改为"This is the new line content."。你可以根据自己的需求修改这个示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张謹礧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值