导航:首页 > 编程语言 > 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修改相关的资料

热点内容
程序员看不懂怎么办 浏览:271
linux操作系统题 浏览:765
单片机无符号数加法 浏览:227
应用隐藏加密怎么关闭 浏览:269
汽车空调的压缩机电线有什么用 浏览:429
电脑加密图片如何取消加密 浏览:340
慧净电子51单片机视频 浏览:343
javamap赋值 浏览:165
什么app可以玩掌机游戏 浏览:46
java简单聊天室 浏览:462
通用汽车编程软件 浏览:432
一级抗震框架梁箍筋加密区规定是多少 浏览:974
教你如何把安卓手机变成苹果 浏览:11
app编译分类 浏览:323
怎么用服务器的资源包 浏览:199
oa软件手机登陆服务器地址 浏览:289
androidrtp打包 浏览:723
信息被加密码了怎么办 浏览:420
弹出光盘命令 浏览:517
kdj公式源码分享 浏览:355