A. java 的實驗寫入文件:從標准設備中輸入若干行英文句子直到輸入「bye」結束,將這些字元串寫入文件。
package test5;
import java.io.*;
public class test
{
public static void main(String[] args)throws java.io.IOException
{
InputStreamReader ir= new InputStreamReader(System.in);//將System.in轉化為面向字元的流
BufferedReader in= new BufferedReader(ir);//為輸入流提供緩沖區
FileWriter f =new FileWriter("test.txt");
BufferedWriter bw =new BufferedWriter(f);
String s;
System.out.print("請輸入多行字元串\n");
while ((s = in.readLine())!=null)
{
if(s.equals("bye"))
{
break;
}
else
{
bw.write(s);
bw.newLine();
}
}
bw.close();
f.close();
in.close();
ir.close();
}
}
B. Java中怎麼將字元串按行寫入到txt文件中
java寫入文本文件的方法很多,比如FileWriter
FileWriterfw=newFileWriter("D:/Test.txt");
Strings="helloworld ";
fw.write(s,0,s.length());
s="helloworld2 ";
fw.write(s,0,s.length());
fw.flush();
這樣就寫了兩行了。其中斜線n是換行符
C. java文件讀寫,在一個已經有內容的文件中,追加第一行,如何做到
我的想法是可以用RandomAccessFile,這個類的seek方法,想在文件的哪個位置插入內容都行。所以你的第一行就不在話下了。但是,這個會覆蓋你文件中插入位置後面的內容。相當於我們在輸入的時候,按了鍵盤的insert鍵盤。所以,像你這種情況只能用臨時文件來存儲原有的內容,然後把要插入的數據寫入文件,再把臨時文件的內容追加到文件中。x0dx0avoid insert(String filename,int pos,String insertContent){//pos是插入的位置x0dx0a File tmp = File.createTempFile("tmp",null);x0dx0a tmp.deleteOnExit();x0dx0a try{x0dx0a RandomAccessFile raf = new RandomAccessFile(filename,"rw");x0dx0a FileOutputStream tmpOut = new FileOutputStream(tmp);x0dx0a FileInputStream tmpIn = new FileInputStream(tmp);x0dx0a raf.seek(pos);//首先的話是0x0dx0a byte[] buf = new byte[64];x0dx0a int hasRead = 0;x0dx0a while((hasRead = raf.read(buf))>0){x0dx0a //把原有內容讀入臨時文件x0dx0a tmpOut.write(buf,0,hasRead);x0dx0a x0dx0a }x0dx0a raf.seek(pos);x0dx0a raf.write(insertContent.getBytes());x0dx0a //追加臨時文件的內容x0dx0a while((hasRead = tmpIn.read(buf))>0){x0dx0a raf.write(buf,0,hasRead);x0dx0a }x0dx0a }x0dx0a}
D. java 如何向txt文件中的某一行繼續寫入
Java的RandomAccessFile提供對文件的讀寫功能,與普通的輸入輸出流不一樣的是RamdomAccessFile可以任意的訪問文件的任何地方。這就是「Random」的意義所在。
相關API:
RandomAccessFile(String
name, String
mode)構造器,模式分為r(只讀),rw(讀寫)等
RandomAccessFile.readLine()方法實現對一整行的讀取,並重新定位操作位置
RandomAccessFile.write(byte[] b)用於位元組內容的寫入
示例如下:
RandomAccessFileraf=newRandomAccessFile("f:/1.txt","rw");
inttargetLineNum=10;
intcurrentLineNum=0;
while(raf.readLine()!=null){
if(currentLineNum==targetLineNum){//定位到目標行時結束
break;
}
currentLineNum++;
}
raf.write(" insert".getBytes());
raf.close();
E. java按行寫入多個txt文件
用循環吶,循環打開文件
for(int i=1;i<=60;i++)
File file = new File("filen"+i+".txt");
這樣文件對象有了寫入就不用說了吧;
F. 如何用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();
}
}
G. java 如何向txt文件制定行寫入內容
給思路吧,寫代碼比較麻煩
其實就是把文件都按行讀入,再寫入到另一個臨時文件,到第七行的時候,先插入要插入的行,然後再將讀出來的第七行寫入,如果是替換,則直接替換即可,最後用臨時文件覆蓋原文件即可
H. java讀寫文件指定行的問題
讀寫是兩個不同的分支,通常都是分開單獨使用的,在讀取到每行內容後,通過特定的條件判斷即可獲取到應用的行內容,之後進行輸出即可。
舉例:
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容,此處如果增加必要的條件,就可以貨到的指定的內容
};
可以通過「FileOutputStream」創建文件實例,之後過「OutputStreamWriter」流的形式進行存儲,
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
pw.write("我是要寫入到記事本文件的內容");//將要寫入文件的內容,可以多次write
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。
I. 用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
*/
}
}
J. 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();
}
}
}
}