java写入文件到指定文件夹的方法主要有两种:利用PrintStream和利用StringBuffer
例如将文本“I'm the text to be write”写入到文件夹D:/test下,并命名为test.txt,则两种方式简单实现代码如下:
1. 利用PrintStream写文件
publicvoidPrintStreamDemo(){
try{
FileOutputStreamout=newFileOutputStream("D:/test.txt");
PrintStreamp=newPrintStream(out);
p.println("I'mthetexttobewrite");
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
}
2. 利用StringBuffer写文件
publicvoidStringBufferDemo()throwsIOException{
Filefile=newFile("D:/test.txt");
if(!file.exists())
file.createNewFile();
FileOutputStreamout=newFileOutputStream(file,true);
StringBuffersb=newStringBuffer();
sb.append("I'mthetexttobewrite");
out.write(sb.toString().getBytes("utf-8"));
}
out.close();
}
提示:利用StringBuffer写文件可以设定使用何种编码,有效解决中文问题。
② java文件输出流,写到.txt文件,如何实现换行
1 实现的方式总共有3中, 1)原始的 \r\n 方式
2)BufferedWriter的newline()方法
3) System.getProperty()方法
下面使用代码逐一展示 , 写到.txt文件实现换行
2 使用java中的转义符"\r\n":
FileOutputStream fos=new FileOutputStream("c;\\11.txt");
String str="aaa";
str+="\r\n";
fos.write(str);
3 BufferedWriter的newline()方法:
FileOutputStream fos=new FileOutputStream("c;\\11.txt");
BufferedWriter bw=new BufferedWriter(fos);
bw.write("你好");
bw.newline(); //实现换行
4 System.getProperty()方法:
FileOutputStream fos=new FileOutputStream("c;\\11.txt");
String str = "aaa"+System.getProperty("line.separator");
fos.write(str);
③ java中输出txt文件
不清楚楼主具体是哪里不懂,先给个大概思路,后台也就是action或servlet中利用java.io包把文本读出来,然后setAttribute()到页面上去,页面上textarea取set进去的值就ok了
写文件大同小异,流程相反
附上io的一个例子
final int BUFFER_LENGTH=1024;
public void formatFlie(String fileName) {
char[] c=new char[BUFFER_LENGTH];//buffered area
String inStr="";//read String
try {
BufferedReader readBuff=new BufferedReader(new FileReader(fileName));
while(readBuff.read(c,0,BUFFER_LENGTH)!=-1) {
//System.out.println("pos:"+read_pos);
for(int i=0;i<BUFFER_LENGTH;i++)
inStr+=c[i];
}
System.out.println(inStr);
readBuff.close();
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
④ java中读入和输出文本文件
/**
*测试3:从文本文件中读取数据
*/
staticvoidtestExample03(){
//1、在内存中打开要读取文件的字符流对象
try{
Readerreader=newFileReader("e:/ReadMe.log");
//2、从字符流中读取数据
//一次读取一个字符(麻烦)
/*intnum=reader.read();
System.out.println((char)num);
num=reader.read();
System.out.println((char)num);*/
//一次读取一个数组(必须确定数组的长度)
/*char[]cbuf=newchar[10];
reader.read(cbuf);
System.out.println(newString(cbuf));*/
//循环读取,一次就读一个
intch=reader.read();
StringBufferbuffer=newStringBuffer();
while(ch!=-1){//读取成功
buffer.append((char)ch);
ch=reader.read();
}
System.out.println(buffer.toString());
//3、关闭流
reader.close();
}catch(FileNotFoundExceptione){
System.out.println("要读取的文件不存在:"+e.getMessage());
}catch(IOExceptione){
System.out.println("文件读取错误:"+e.getMessage());
}
}
/**
*测试4:向文本文件中写入数据
*/
staticvoidtestExample04(){
System.out.println("请输入内容:");
Stringtext=input.next();
try{
//1、打开流
Writerw=newFileWriter("e:/测试.txt",true);
//2、写入内容
w.write(text);
//3、关闭流
w.close();
}catch(IOExceptione){
System.out.println("文件写入错误:"+e.getMessage());
}
}
/**
*测试5:使用效率高的字符流读写数据
*/
staticvoidtestExample05(){
try{
//1、创建流对象
Readerreader=newFileReader("e:/ReadMe.log");
//构建高效流对象
BufferedReaderbuffReader=newBufferedReader(reader);
//2、读取一行字符串
Stringline=buffReader.readLine();
StringBufferbuffer=newStringBuffer();
while(line!=null){
buffer.append(line+" ");
line=buffReader.readLine();
}
System.out.println(buffer.toString());;
//3、关闭流
buffReader.close();
reader.close();
Writerw=newFileWriter("e:/NewReadMe.txt");
BufferedWriterbuffWriter=newBufferedWriter(w);
buffWriter.write(buffer.toString());
buffWriter.close();
w.close();
System.out.println("写入成功!");
}catch(FileNotFoundExceptione){
System.out.println("要读取的文件不存在:"+e.getMessage());
}catch(IOExceptione){
System.out.println("文件读取错误:"+e.getMessage());
}
}
⑤ java中如何将输出结果放入文件中
这个就需要java中的I/O流来对文件进行读写,举个例子:以类来写文件
importjava.io.FileNotFoundException;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassTest{
publicstaticvoidrwFile(){
FileWriterfw=null;
try{
fw=newFileWriter("f:\text.txt",true);
fw.write("123");//这里向文件中输入结果123
fw.flush();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(fw!=null){
try{
fw.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
publicstaticvoidmain(String[]args){
rwFile();
}
}
这个代码是向文件F盘的text.txt中输入123
⑥ 使用java的输入,输出流将一个文本文件的内容按行读出,每读一行就顺序添加行号,并写入到另一个文件
代码如下:
importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
publicclassApp{
publicstaticvoidmain(String[]args)throwsFileNotFoundException,IOException{
try(
FileInputStreaminputStream=newFileInputStream(newFile("d:\temp\abc.txt"));
InputStreamReaderstreamReader=newInputStreamReader(inputStream);
BufferedReaderreader=newBufferedReader(streamReader);
FileOutputStreamoutputStream=newFileOutputStream(newFile("d:\temp\output.txt"));
=newOutputStreamWriter(outputStream);
BufferedWriterwriter=newBufferedWriter(streamWriter);
){
intcount=1;
Stringline=null;
while((line=reader.readLine())!=null){
writer.write(count+++":"+line);
writer.newLine();
}
}
System.out.println("done.");
}
}
⑦ java输出到TXT文件时怎么加换行
java输出到txt的时候增加换行符的方法如下:
package com.anjoyo.test;
import java.io.FileWriter;
import java.io.IOException;
public class TestFileWriter {
public static void main(String[] args) throws IOException{
//\r\n为换行符
FileWriter fw = new FileWriter("D:\\1.txt");
//写入第一行换行
fw.write("第一行\r\n");
//或者获得系统换行符
String str = "第二行" + System.getProperty("line.separator");
fw.write(str);
fw.write("第三行");
fw.close();
/*
* windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r
* Mac下的文本文件换行符:\n
*/
}
}
⑧ JAVA 的输入输出,读取写入文件
//将内容追加到文件尾部
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 将内容追加到文件尾部
*/
public class AppendToFile {
/**
* A方法追加文件:使用File
* @param fileName 文件名
* @param content 追加的内容
*/
public static void appendMethodA(String fileName, String content){
try {
// 打开一个随机访问文件流,按读写方式
RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
// 文件长度,字节数
long fileLength = randomFile.length();
//将写文件指针移到文件尾。
randomFile.seek(fileLength);
randomFile.writeBytes(content);
randomFile.close();
} catch (IOException e){
e.printStackTrace();
}
}
/**
* B方法追加文件:使用FileWriter
* @param fileName
* @param content
*/
public static void appendMethodB(String fileName, String content){
try {
//打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
FileWriter writer = new FileWriter(fileName, true);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String fileName = "C:/temp/newTemp.txt";
String content = "new append!";
//按方法A追加文件
AppendToFile.appendMethodA(fileName, content);
AppendToFile.appendMethodA(fileName, "append end. ");
//显示文件内容
ReadFromFile.readFileByLines(fileName);
//按方法B追加文件
AppendToFile.appendMethodB(fileName, content);
AppendToFile.appendMethodB(fileName, "append end. ");
//显示文件内容
ReadFromFile.readFileByLines(fileName);
}
}
本篇文章来源于:开发学院 http://e.codepub.com 原文链接:http://e.codepub.com/2010/0323/21269_2.php