導航:首頁 > 編程語言 > javatxt修改

javatxt修改

發布時間:2022-04-14 14:06:13

1. java 中怎麼修改txt文件中某一行的內容

用臨時文件,按行讀源文件,不修改的行,直接輸出到臨時文件、要修改的行在修改後,再寫到臨時文件

2. 用java語言編寫一個程序修改一個txt文件

不早說這是rt文件.....
分析了下你給的例子,這個例子恰到好處,多一個空格在realPlayer里顯示就有問題.....我分析了下,realPlayer里顯示的東東的第一行有20個漢字(僅針對漢字和漢字標點,英語未知,未驗證),其餘行都是19個漢字......

這下好辦了,首先,你的txt里必須放的是主體部分的內容,不能有標題(標題需要手動在程序里加入,放在txt里也不好讀出來).....首先,把整段文字(從"傳說古代"到"也沒有見到")讀到一個字元串里,用trim()方法除去首尾的空格....然後截取前20個漢字作為第一行....給它加上<time begin="2"/> ...然後把後面的文字每隔19個漢字進行截取..依次加上<time begin="3,4,5.."/> ....然後不停地前後追加標簽就行了.......

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;

public class SplitString extends JFrame implements ActionListener {

JPanel pane = new JPanel();

JLabel lbl = new JLabel("為此文件填寫標題:");

JScrollPane scrollPane;

JTextField text = new JTextField(20);

JButton buttOpen = new JButton("打開文件");

JButton buttTrans = new JButton("開始轉換");

JButton buttSave = new JButton("保存文件");

JTextArea area = new JTextArea(15, 30);

SplitString() {
//setLayout(new GridLayout(3, 2));

scrollPane = new JScrollPane(area);
text.setText("求千里馬");
pane.add(lbl);
pane.add(text);

pane.add(buttOpen);
pane.add(buttTrans);
pane.add(buttSave);

area.setLineWrap(true);
pane.add(scrollPane);

buttTrans.addActionListener(this);
buttOpen.addActionListener(this);
buttSave.addActionListener(this);
this.add(pane);

this.setVisible(true);
this.setBounds(30, 30, 370, 400);

}

public static void main(String[] args) {

SplitString ss = new SplitString();

}

/**
* 其實java的編碼就是unicode,所以截取中文的時候不會出現亂碼問題.
*/
public String splitFunction(String splitStr, int splitByte) {

String beiFen = splitStr;

splitStr = splitStr.substring(20);
String result = "";

int loopCount = (splitStr.length() % splitByte == 0) ? (splitStr
.length() / splitByte) : (splitStr.length() / splitByte + 1);
int m = 3;

for (int i = 1; i <= loopCount; i++) {
if (i == loopCount) {

result += "<time begin=\""
+ m
+ "\"/>"
+ splitStr.substring((i - 1) * splitByte, splitStr
.length());

} else {

result += "<time begin=\""
+ m
+ "\"/>"
+ splitStr.substring((i - 1) * splitByte,
(i * splitByte));
}

m++;
}

System.out.println();
System.out.println();

result = "<time begin=\"2\"/> " + beiFen.substring(0, 20) + result;
result = "<p>" + result + "</p>";

result = "<b><center><time begin=\"1\"/>" + text.getText()
+ "</center></b>\n" + result;

result = "<font face=\"system\" charset=\"gb2312\" >" + "<br/>\n"
+ result + "</font>";

result = "<window type=\"teleprompter\" height=\"280\" ration=\"55\" bgcolor=\"lime\" wordwrap=\"true\">\n"
+ result + "</window> ";

System.out.println(result);
return result;
}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttTrans) {
String aa = area.getText();

aa = " " + aa.trim();
String bb = splitFunction(aa, 19);
area.setText("");
area.setText(bb);

}
if (e.getSource() == buttOpen) {
//在這里,換成了JFileChooser,對圖像文件進行過濾...
//如果你非要用FileDialog,我就不知道怎麼過濾了.....
JFileChooser chooser = new JFileChooser();

FileNameExtensionFilter filter = new FileNameExtensionFilter(
"txt file", "txt");
chooser.setFileFilter(filter);
int returnVal = chooser.showOpenDialog(this);

if (returnVal == JFileChooser.APPROVE_OPTION) {
try {
area.setText("");
File file = chooser.getSelectedFile();
BufferedReader input = new BufferedReader(new FileReader(
file));
String line = input.readLine();
while (line != null) {

area.append(line + "\n");
line = input.readLine();
}
} catch (Exception es) {
System.out.println("文件解析出錯");
}

}
}

if (e.getSource() == buttSave) {
if (area.getText().trim().equals("")) {
JOptionPane.showMessageDialog(this, "無法保存", "警告",
JOptionPane.ERROR_MESSAGE);
} else {

JFileChooser fileChooser = new JFileChooser();

int result = fileChooser.showSaveDialog(this);

if (result == JFileChooser.CANCEL_OPTION) {

}
File fileName = fileChooser.getSelectedFile();

try {
FileWriter out = new FileWriter(fileName.getAbsolutePath());
out.write(area.getText());
out.close();

} catch (Exception es) {
JOptionPane.showMessageDialog(this, fileName.getName()
+ "文件不存在!\n請檢查所給的文件名是否正確!", "無效的文件名",
JOptionPane.ERROR_MESSAGE);

}

}

}

}

}

3. java 文本文件部分內容修改

整體思路如下:

1、用FileInputStream讀取文件內容;
2、修改內容,string操作;
3、用FileOutputStream寫文件內容;

參考例子如一下:

importjava.io.*;

publicclassTestBufferStream{
publicstaticvoidmain(String[]args){
try{
BufferedReaderin=newBufferedReader(newFileReader("in.txt"));
BufferedWriterout=newBufferedWriter(newFileWriter("out.txt"));
Strings=null;
while((s=in.readLine())!=null){
out.write(s);
out.newLine();
}
out.flush();
in.close();
out.close();
}catch(IOExceptione){
e.printStackTrace();
}

}
}

4. java中讀出txt文件內容並更改怎麼寫入原txt文件

方法一:
讀取文件內容,
進行修改,
全部保存到內存中,
然後清空原文件,把內存寫回到原文件
適用范圍:
文件數據較小的時候,
這樣不怕內存溢出
方法二:
使用RandomAccessFile
,
模式設置文件可讀可寫
,
可以直接修改
方法三:
讀取文件內容
,
每次讀取一行,修改完畢就把該行字元串寫入到臨時文件中
,
然後從臨時文件寫會到原文件

5. java怎麼修改文本文件每行里的某一內容

1.把整個TXT文件讀取出來(FileReader)存到一個String對象里!
2.正則替換String對象,替換表達式。比如
String
a
=
"13730000666";
String
b
=
a.replaceAll("(\\d{4})(\\d{4})(\\d{3})","$1****$3");
System.out.println(b);
輸出:
1373****666
3.再將String對象寫回TXT文件。

6. java編程修改txt里的內容

使用Scanner掃描文本行,對行進行操作,然後寫到這個文件
:
Scanner s=new Scanner(new File("路徑"));
List<String> list=new ArrayList<String>();
while(s.hasNextLine()){
list.add(s.nextLine());
}
s.colse();
PrintWriter p=new PrintWriter(new File("路徑"));
for(int i=0;i<list.sixe();i++)
{
String[] array=list.get(i).spilt("##");//正則似乎是這個
//修改吧
array[0]=array[0]+"X";
String str=new StringBuffer().append(array[0]).append("##").append(array[1]).append("##").append(array[2]).toString();
p.println(str);
}
p.colse();
:

7. java如何刪除或者修改txt最後一行數據

給你個思路吧,代碼自己寫哦
方案1:
1、文檔不大的話,直接全部讀出來,就是一個字元串
2、定位到這個字元串的最後一個回車符,若這個回車符後面沒有內容,就再往前一個回車符,然後截取,再拼接上你新的字元串
方案2:
文檔大的話,用隨機讀取類RandomAccessFile,直接定位到最後,再往回找。。類似上面的,文檔大的話,這個方法比較適合。

8. 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);
}

}

9. java給txt文件寫入內容要求找到那一行然後修改某一個特定值怎麼做啊

java實現向txt每行增加一位數字,思路是這樣的:使用I/O操作每次讀取一行文字,使用string增加一個數字一,保存在緩存另一個list裡面,後接一個換行符,等到全部讀取完畢,在讀取list的內容,寫入txt文件裡面,示例如下:
package com.zeal.card; // 這里是我自己臨時用的包名,你自己改一下就好了

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class Demo {

/**
* 主方法
* @param args
*/
public static void main(String[] args) {
printData();
}

/**
* 讀取txt文檔第一行數據中的第3位到第9位,並輸出到控制台
*/
public static void printData() {

// 定義文本文件數組,這里是臨時演示用,請自己改寫
String[] txtFiles = {
"c:/a.txt",
"c:/b.txt",
"c:/c.txt",
};

// 遍歷文件
for (int i=0; i<txtFiles.length; i++) {
try {
// 得到文件
File file = new File(txtFiles[i]);
// 如果文件存在
if (file.exists()) {
// 建立緩沖包裝器
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
// 讀出一行(因為只是讀一行,沒必要遍歷全部文件內容)
String temp = in.readLine();
// 如果不為空,並且長度至少為9
if (temp != null) {

String txt = "一"+temp;//每行前面增加一個數字一。
System.out.println("取出數據:" + txt);
List li= new ArrayList();
List li= new ArrayList();
li.add(temp);
}
}
BufferedWriter in = null;
in = new BufferedWriter (new InputStreamWriter(new FileOutputStream(file)));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

}

10. 如何通過java實現對指定目錄下的txt文件進行增刪改查

代碼如下:

importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;
importjava.util.ArrayList;
importjava.util.List;

publicclassApp61{

publicstaticvoidmain(String[]args)throwsIOException{

//查找行輸出
Stringline=findFileLine("mylist.txt","abc");
System.out.println(line);

//刪除指定行
removeFileLine("mylist.txt",2);
}

staticvoidremoveFileLine(Stringfile,intline)throwsIOException{

List<String>lines=readFileLines(file);

lines.remove(line-1);

FileOutputStreamoutputStream=null;

=null;

BufferedWriterwriter=null;

try{

outputStream=newFileOutputStream(file);

streamWriter=newOutputStreamWriter(outputStream);

writer=newBufferedWriter(streamWriter);

for(Stringstr:lines){
writer.write(str+System.lineSeparator());
}

}finally{
if(writer!=null){
writer.close();
}
if(streamWriter!=null){
streamWriter.close();
}
if(outputStream!=null){
outputStream.close();
}
}
}


//查找行
staticStringfindFileLine(Stringfile,Stringkeywork)throwsIOException{

List<String>lines=readFileLines(file);

for(Stringline:lines){
if(line.contains(keywork)){
returnline;
}
}

return"";
}

//返迴文件所有行
staticList<String>readFileLines(Stringfile)throwsIOException{

List<String>lines=newArrayList<>();

FileInputStreaminputStream=null;

InputStreamReaderstreamReader=null;

BufferedReaderreader=null;

try{

inputStream=newFileInputStream(file);

streamReader=newInputStreamReader(inputStream);

reader=newBufferedReader(streamReader);

Stringline="";

while((line=reader.readLine())!=null){
lines.add(line);
}
}finally{
if(reader!=null){
reader.close();
}
if(streamReader!=null){
streamReader.close();
}
if(inputStream!=null){
inputStream.close();
}
}

returnlines;
}
}
閱讀全文

與javatxt修改相關的資料

熱點內容
java定義數據類型 瀏覽:874
安卓pdf手寫 瀏覽:427
什麼是app開發者 瀏覽:284
android鬧鍾重啟 瀏覽:101
程序員失職 瀏覽:518
在雲伺服器怎麼改密碼 瀏覽:586
伺服器pb什麼意思 瀏覽:940
51駕駛員的是什麼app 瀏覽:670
php靜態變數銷毀 瀏覽:886
編程買蘋果電腦 瀏覽:760
flac演算法 瀏覽:497
reactnative與android 瀏覽:663
程序員是干什麼的工作好嗎 瀏覽:258
kbuild編譯ko 瀏覽:469
條件編譯的宏 瀏覽:564
韓語編程語言 瀏覽:646
小程序開發如何租用伺服器 瀏覽:80
怎麼把釘釘文件夾保存到手機里 瀏覽:71
兵法pdf 瀏覽:645
app格式化下載不起怎麼辦 瀏覽:36