我想使用 Java 在文件的最后一行添加一些字符串,但我卡住了,需要帮助:)
I want to add some string in Last Line of File using Java, but i am getting stuck , Need help :)
这是我的代码:
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class Append
{
public static void main( String[] args )
{
try{
String data = " Thank you very much";
File file =new File(" ");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
System.out.println("New File Created Now");
}
//true = append file
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritter.close();
System.out.println("Done");
}catch(IOException e){
e.printStackTrace();
}
}
}
在上面的代码中,我试图在 G://Openone.txt 中添加 "String data = " Thanks you very much"; ",但它无法正常工作,而且我没有得到输出。
File file =new File(" ");
应该变成
File file = new File("G:\Openone.txt");
public static void main( String[] args )
{
try{
String data = " Thank you very much";
File file =new File(" ");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
System.out.println("New File Created Now");
}
//true = append file
FileWriter fileWritter = new FileWriter(file,true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritter.close();
fileWritter.close();
System.out.println("Done");
}catch(Exception e){
e.printStackTrace();
}
}
在下一行中使用文件对象而不是 file.getName()
。
FileWriter fileWritter = new FileWriter(file.getName(),true);
如果您使用的是 Java 7+,您可以使用:
Files.write(Paths.get("G:\Openone.txt"), "Thank you very much".getBytes(), StandardOpenOption.APPEND, StandardOpenOption.CREATE);
顺便说一句,我建议您重构代码以便使用 finally 块正确管理异常,因为如果在写入行中抛出异常,则不会调用 close 方法。
这是我的代码:
import java.io.File;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
public class Append
{
public static void main( String[] args )
{
try{
String data = " Thank you very much";
File file =new File(" ");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
System.out.println("New File Created Now");
}
//true = append file
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritter.close();
System.out.println("Done");
}catch(IOException e){
e.printStackTrace();
}
}
}
在上面的代码中,我试图在 G://Openone.txt 中添加 "String data = " Thanks you very much"; ",但它无法正常工作,而且我没有得到输出。
File file =new File(" ");
应该变成
File file = new File("G:\Openone.txt");
public static void main( String[] args )
{
try{
String data = " Thank you very much";
File file =new File(" ");
//if file doesnt exists, then create it
if(!file.exists()){
file.createNewFile();
System.out.println("New File Created Now");
}
//true = append file
FileWriter fileWritter = new FileWriter(file,true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritter.close();
fileWritter.close();
System.out.println("Done");
}catch(Exception e){
e.printStackTrace();
}
}
在下一行中使用文件对象而不是 file.getName()
。
FileWriter fileWritter = new FileWriter(file.getName(),true);
如果您使用的是 Java 7+,您可以使用:
Files.write(Paths.get("G:\Openone.txt"), "Thank you very much".getBytes(), StandardOpenOption.APPEND, StandardOpenOption.CREATE);
顺便说一句,我建议您重构代码以便使用 finally 块正确管理异常,因为如果在写入行中抛出异常,则不会调用 close 方法。