java把内容写入txt文件
㈠ java如何追加写入txt文件
java中,对文件进行追加内容操作的三种方法!
importjava.io.BufferedWriter;
importjava.io.FileOutputStream;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.io.PrintWriter;
importjava.io.RandomAccessFile;
//如果文件存在,则追加内容;如果文件不存在,则创建文件,追加内容的三种方法
{
@SuppressWarnings("static-access")
publicstaticvoidmain(String[]args){
AppendContentToFilea=newAppendContentToFile();
a.method1();
a.method2("E:\dd.txt","222222222222222");
a.method3("E:\dd.txt","33333333333");
}
方法1:
publicvoidmethod1(){
FileWriterfw=null;
try{
//如果文件存在,则追加内容;如果文件不存在,则创建文件
Filef=newFile("E:\dd.txt");
fw=newFileWriter(f,true);
}catch(IOExceptione){
e.printStackTrace();
}
PrintWriterpw=newPrintWriter(fw);
pw.println("追加内容");
pw.flush();
try{
fw.flush();
pw.close();
fw.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
方法2:
publicstaticvoidmethod2(Stringfile,Stringconent){
BufferedWriterout=null;
try{
out=newBufferedWriter(newOutputStreamWriter(
newFileOutputStream(file,true)));
out.write(conent+" ");
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
方法3:
publicstaticvoidmethod3(StringfileName,Stringcontent){
try{
//打开一个随机访问文件流,按读写方式
RandomAccessFilerandomFile=newRandomAccessFile(fileName,"rw");
//文件长度,字节数
longfileLength=randomFile.length();
//将写文件指针移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content+" ");
randomFile.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
㈡ java 将编码格式为utf-8的文件内容以 GBK编码存到txt文档
在Java中转换文件编码格式时,可以使用多种方法。传统的做法是自己编写程序,通过读取文件中的数据并转换编码,然后重新写入。例如,可以将GBK编码的文本文件转换为UTF-8编码。以下是一个具体的示例:
假设需要将一个名为“example.java”的文件从GBK编码转换为UTF-8编码。首先定义两个路径,分别指向源文件和目标文件的目录:
String srcDirPath = "D:\\dev\\workspace\\masdev\\mas\\src";
String utf8DirPath = "D:\\UTF8\\src";
接下来,通过FileUtils.listFiles方法获取指定目录下的所有Java文件:
Collection javaGbkFileCol = FileUtils.listFiles(new File(srcDirPath), new String[]{"java"}, true);
然后遍历这些文件,为每个文件生成目标文件的路径:
for (File javaGbkFile : javaGbkFileCol) {
String utf8FilePath = utf8DirPath + javaGbkFile.getAbsolutePath().substring(srcDirPath.length());
使用GBK编码读取文件内容,并通过UTF-8编码写入新文件:
FileUtils.writeLines(new File(utf8FilePath), "UTF-8", FileUtils.readLines(javaGbkFile, "GBK"));
这种方法不仅适用于GBK到UTF-8的转换,还可以用于其他编码格式之间的转换。通过Apache Commons IO库中的FileUtils类,可以方便地实现文件的读取和写入操作。
此外,还可以利用第三方库,如ICU4J,来处理复杂的字符编码转换问题。ICU4J提供了强大的字符处理功能,能够处理多种语言和编码标准,包括Unicode和各种区域性的字符集。
总之,Java提供了多种方法来实现文件编码的转换。根据实际需求,可以选择合适的工具和方法来实现文件编码的转换,以满足不同的应用需求。