导航:首页 > 编程语言 > java行写文件

java行写文件

发布时间:2024-04-01 21:03:04

A. java读取、修改、写入txt文件

模拟:先创建一个TXT文件(内容来自控制台);然后读取文件并在控制台输出;最后实现对新创建的TXT文件(的数据进行排序后)的复制。分别对应三个函数,调用顺序需要注意:创建、读取、复制。

效果图如下:绿色部分为控制台输入的内容(当输入end时,结束)

packagecom.;

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.FileReader;
importjava.io.IOException;
importjava.io.OutputStreamWriter;
importjava.util.Arrays;
importjava.util.Scanner;
importjava.util.Vector;

publicclassCreateAndReadTxt{
//文件名称
publicstaticStringfileName=".txt";
publicstaticStringnewFileName=".txt";
//文件路径
publicfinalstaticStringURL=System.getProperty("user.dir");

//CreateAndReadTxt.class.getResource("/").getPath();

//创建TXT文件
publicstaticvoidcreateTxtFile(StringfName,StringfileContent){
//创建文件
fileName=fName+fileName;
Filefile=newFile(fileName);
//可以更改
file.setWritable(true);
//判断当前路径下是否存在同名文件
booleanisExist=file.exists();
if(isExist){
//文件存在,删除
file.delete();
}
//写入文件
try{
//文件写入对象
FileOutputStreamfos=newFileOutputStream(file);
//输入流写入----默认字符为GBK
OutputStreamWriterosw=newOutputStreamWriter(fos);
//写入
osw.write(fileContent);
//写入完毕后关闭
osw.close();
System.out.println("成功创建文件: "+fileName);
}catch(IOExceptione){
System.out.println("写入文件失败: "+e.getMessage());
}
}

//阅读文件
publicstaticvoidreadFile(StringfileName){
System.out.println("开始读取文件: "+fileName);
//产生文件对象
Filefile=newFile(fileName);
//
try{
//字符读取
FileReaderfr=newFileReader(file);
//缓冲处理
BufferedReaderbr=newBufferedReader(fr);
Stringstr="";
while((str=br.readLine())!=null){
System.out.println(str);
}
//关闭
br.close();
fr.close();
}catch(FileNotFoundExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}catch(IOExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}
}
//文件复制
publicstaticvoidFile(StringfromFileName,StringtoFileName){
//读取文件
Filefile=newFile(fromFileName);
try{
FileReaderfr=newFileReader(file);
BufferedReaderbr=newBufferedReader(fr);
//定义接收变量
Vector<Double>vec=newVector<Double>();
Strings="";
while(null!=(s=br.readLine())){
vec.add(Double.parseDouble(s));
}
br.close();
fr.close();
//保存到数组并进行排序
Doubledou[]=newDouble[vec.size()];
vec.toArray(dou);
Arrays.sort(dou);
System.out.println("========复制文件=========");
//写入新文件
newFileName="副本"+newFileName;
FilenewFile=newFile(toFileName);
FileOutputStreamfos=newFileOutputStream(newFile,true);
OutputStreamWriterosm=newOutputStreamWriter(fos);
for(Doubled:dou){
osm.write(d.doubleValue()+" ");
}
osm.close();
fos.close();
}catch(FileNotFoundExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}catch(IOExceptione){
System.out.println("读取文件失败: "+e.getMessage());
}

}
publicstaticvoidmain(String[]args){
/**
*构造数据
*/
Scannerscan=newScanner(System.in);
StringBuildersb=newStringBuilder();
Strings="";
while(!("end".equals(s=scan.next()))){//当输入end时,结束
sb.append(s);
sb.append(" ");
}
scan.close();
/**
*使用数据
*/
CreateAndReadTxt.createTxtFile("creat",sb.toString());
CreateAndReadTxt.readFile(fileName);
System.out.println(fileName);
CreateAndReadTxt.File(fileName,newFileName);
CreateAndReadTxt.readFile(newFileName);
}

}

B. 关于Java中向文件写入数据的问题

可以使用java中的FileWriter类向文件中写入数据。很简单。代码例子如下:

importjava.io.FileWriter;
importjava.io.IOException;

publicclassFilewriter{

privatestaticfinalStringLINE_SEPARATOR=System.getProperty("line.separator");

/**
*
*@paramargs
*@throwsIOException
*/
publicstaticvoidmain(String[]args)throwsIOException{
/**
*创建一个可以往文件中写入字符数据的字符流输出流对象
*创建时必须明确文件的目的地
*如果文件不存在,这回自动创建。如果文件存在,则会覆盖。
*当路径错误时会抛异常
*
*当在创建时加入true参数,回实现对文件的续写。
*/
FileWriterfw=newFileWriter("C:\demo1.txt",false);
/**
*调用该对象的write方法,向文件写入字符。
*
*其实写入到了临时存储缓冲区中
*/
fw.write("hello world!");//windows中的换行为 unix下为 。
fw.write("hahaha");
/**
*进行刷新,将字符写到目的地中。
*/
//fw.flush();
/**
*关闭流,关闭资源。在关闭前会调用flush方法刷新缓冲区。关闭后在写的话,会抛IOException
*/
fw.close();


}

}

C. 用JAVA向文件写入内容时如何实现换行

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
*/
}
}

D. 如何用java写入txt,每次运行都覆盖前一次的内容(多行数据)

Java使用FileWriter实现文件的写入,用法为:FileWriter(file,true); 其中第二个参数设置成false就是覆盖写入,true就是增量存储。举例代码:

importjava.io.File;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassFile01Demo{
publicstaticvoidmain(String[]args)throwsIOException{
Filefile=newFile("D:\a.txt");
FileWriterfw=newFileWriter(file,true);//设置成true就是追加
fw.write("asd");
fw.write(" ");
fw.write("ffd");
fw.close();
}
}

E. java代码 如何向TXT文件写入内容

向txt文件写入内容基本思路就是获得一个file对象,新建一个txt文件,打开I/O操作流,使用写入方法进行读写内容,示例如下:

packagecommon;

importjava.io.*;

importjava.util.ArrayList;

publicclassIOTest{

publicstaticvoidmain(Stringargs[]){

ReadDate();

WriteDate();

}

/**

*读取数据

*/

publicstaticvoidReadDate(){

Stringurl=“e:/2.txt”;

try{

FileReaderread=newFileReader(newFile(url));

StringBuffersb=newStringBuffer();

charch[]=newchar[1024];

intd=read.read(ch);

while(d!=-1){

Stringstr=newString(ch,0,d);

sb.append(str);

d=read.read(ch);

}

System.out.print(sb.toString());

}catch(FileNotFoundExceptione){

e.printStackTrace();

}catch(IOExceptione){

e.printStackTrace();

}

}

/**

*写入数据

*/

publicstaticvoidWriteDate(){

try{

Filefile=newFile(“D:/abc.txt”);

if(file.exists()){

file.delete();

}

file.createNewFile();

BufferedWriteroutput=newBufferedWriter(newFileWriter(file));

ArrayListResolveList=newArrayList();

for(inti=0;i<10;i++){

ResolveList.add(Math.random()*100);

}

for(inti=0;i

output.write(String.valueOf(ResolveList.get(i))+“ ”);

}

output.close();

}catch(Exceptionex){

System.out.println(ex);

}

}

}

原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/303/12439303.shtml

F. java镐庝箞鍐椤叆鏂囦欢镐庝箞鎹㈣

鎹㈣岀殑镞跺欑敤\r\n灏变笉浼氭樉绀洪粦鍧楀効浜嗐

G. java 如何向txt文件制定行写入内容

给思路吧,写代码比较麻烦
其实就是把文件都按行读入,再写入到另一个临时文件,到第七行的时候,先插入要插入的行,然后再将读出来的第七行写入,如果是替换,则直接替换即可,最后用临时文件覆盖原文件即可

H. java写入txt文件 想要修改txt文件每一行的第一个数字 加一就好

java实现向txt每行增加一位数字,思路是这样的:使用I/O操作每次读取一行文字,使用string增加一个数字一,保存在缓存另一个list里面,后接一个换行符,等到全部读取完毕,在读取list的内容,写入txt文件里面,示例如下:

packagecom.zeal.card;//这里是我自己临时用的包名,你自己改一下就好了

importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStreamReader;

publicclassDemo{

/**
*主方法
*@paramargs
*/
publicstaticvoidmain(String[]args){
printData();
}

/**
*读取txt文档第一行数据中的第3位到第9位,并输出到控制台
*/
publicstaticvoidprintData(){

//定义文本文件数组,这里是临时演示用,请自己改写
String[]txtFiles={
"c:/a.txt",
"c:/b.txt",
"c:/c.txt",
};

//遍历文件
for(inti=0;i<txtFiles.length;i++){
try{
//得到文件
Filefile=newFile(txtFiles[i]);
//如果文件存在
if(file.exists()){
//建立缓冲包装器
BufferedReaderin=null;
in=newBufferedReader(newInputStreamReader(newFileInputStream(file)));
//读出一行(因为只是读一行,没必要遍历全部文件内容)
Stringtemp=in.readLine();
//如果不为空,并且长度至少为9
if(temp!=null){

Stringtxt="一"+temp;//每行前面增加一个数字一。
System.out.println("取出数据:"+txt);
Listli=newArrayList();
Listli=newArrayList();
li.add(temp);
}
}
BufferedWriterin=null;
in=newBufferedWriter(newInputStreamWriter(newFileOutputStream(file)));
}
}catch(Exceptione){
e.printStackTrace();
}
}
}

}
阅读全文

与java行写文件相关的资料

热点内容
抗震等级不同箍筋加密区范围不同 浏览:467
xshell上传文件命令 浏览:775
优先级队列java 浏览:154
轻量化腾讯云服务器有什么用 浏览:460
编译原理自编译语言 浏览:423
闲鱼app为什么这么多 浏览:690
安卓手机玩游戏不卡怎么设置 浏览:568
编译链接装载书 浏览:537
面试腾讯公司程序员 浏览:108
一个字母y是什么app 浏览:142
魔兽大脚解压安装教程 浏览:7
超时代共享文件夹破解版 浏览:441
命令与征服红色警戒3攻略 浏览:724
解压缩jar包 浏览:586
如何计算服务器的最大并发数 浏览:345
java数组类型定义 浏览:850
安卓卡一和卡二怎么切换 浏览:985
用价值观统领算法强化责任 浏览:783
外汇阿里云服务器买哪一种类型 浏览:448
绍兴程序员接私活攻略 浏览:644