web开发-java实现读文件修改特定字符之后写入文件-学习笔记七
2017-04-07 10:57
726 查看
java实现读文件修改特定字符之后写入文件:
1、简介:java程序实现读入文件,按照要求检索出特定字符,对特殊字符进行字符型转整型数据的操作,之后对数据进行运算,再将整型数据转字符型,之后写入新的文件操作。
2、java读写文件的操作,基于字符流的,主要用到的几个类:
链接:https://www.ezloo.com/2008/03/jave_file_reader_writer.html
(1)FileReader----读取字符流(2)FileWriter----写入字符流
(3)BufferedReader----缓冲指定文件的输入(4)BufferedWriter----将缓冲对文件的输出
BufferedReader类的方法有:
void close() 关闭该流。
void mark(int readAheadLimit) 标记流中的当前位置。
boolean markSupported() 判断此流是否支持 mark() 操作(它一定支持)
int read() 读取单个字符。
int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
String readLine() 读取一个文本行。
boolean ready() 判断此流是否已准备好被读取。
void reset() 将流重置为最新的标记。
long skip(long n) 跳过字符。
BufferedWriter类的方法有:
void close() 关闭该流。
void flush() 刷新该流的缓冲。
void newLine() 写入一个行分隔符。
void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
void write(int c) 写入单个字符。
void write(String s, int off, int len) 写入字符串的某一部分。
读写文件实例:
3、java从文本中读取一行数据进行处理实例程序:
链接:http://blog.chinaunix.net/uid-20804770-id-3048513.html
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) {
FileInputStream fis = null;
d53d
InputStreamReader isr = null;
BufferedReader br = null; //用于包装InputStreamReader,提高处理性能。因为BufferedReader有缓冲的,而InputStreamReader没有。
try {
String str = "";
String str1 = "";
fis = new FileInputStream("c:\\小志.txt");//
FileInputStream
// 从文件系统中的某个文件中获取字节
isr = new InputStreamReader(fis);//
InputStreamReader 是字节流通向字符流的桥梁,
br = new BufferedReader(isr);//
从字符输入流中读取文件中的内容,封装了一个new InputStreamReader的对象
while ((str = br.readLine()) != null) {
str1 += str + "\n";
}
// 当读取的一行不为空时,把读到的str的值赋给str1
System.out.println(str1);//
打印出str1
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch (IOException e) {
System.out.println("读取文件失败");
} finally {
try {
br.close();
isr.close();
fis.close();
// 关闭的时候最好按照先后顺序关闭最后开的先关闭所以先关s,再关n,最后关m
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
4、java实现读文件修改特定字符之后写入文件
功能:实现对输入文件中特殊字符“px”的检索,之后对其前面的数字进行提取,将字符型数字转换成整型,对数据进行运算,之后再转换成字符型,写入新的文件。
实例程序:
/*function:the file index of char*/
package my_java_test;
import java.io.*;
import java.util.*;
//test file search
//public class TextFileSearch{
public class HelloWorld
{
public static void main(String[] args) throws Exception{
try{
FileReader fr = new FileReader("C:\\test\\test.css");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("C:\\test\\test- Copy.css");
BufferedWriter bw = new BufferedWriter(fw);
String readline = null;
while(br.ready()){
while((readline = br.readLine()) != null){
int index = 0;
int next = 0;
int intvalue = 0;
String keyword;
keyword = "px";
String tem_strnum = "";
StringBuffer tem_strnum_return = new StringBuffer(tem_strnum);
while((index = readline.indexOf(keyword, next)) != -1){
tem_strnum_return.delete(0, tem_strnum_return.length());
next = index + keyword.length();
while(readline.charAt(index - 1) >= 48 && readline.charAt(index - 1) <= 57){
tem_strnum_return.insert(0,readline.charAt(index - 1));
tem_strnum = tem_strnum_return.toString();
index--;
}
intvalue = (int)(Integer.parseInt(tem_strnum) * 0.8);
//System.out.println(intvalue);
String int_number = Integer.toString(intvalue);
//System.out.println(int_number);
readline = readline.replaceAll(tem_strnum,int_number);
//System.out.println(readline);
}
bw.write(readline);
bw.newLine();
}
}
System.out.println("input file over!");
bw.flush();
bw.close();
br.close();
fw.close();
br.close();
fr.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
1、简介:java程序实现读入文件,按照要求检索出特定字符,对特殊字符进行字符型转整型数据的操作,之后对数据进行运算,再将整型数据转字符型,之后写入新的文件操作。
2、java读写文件的操作,基于字符流的,主要用到的几个类:
链接:https://www.ezloo.com/2008/03/jave_file_reader_writer.html
(1)FileReader----读取字符流(2)FileWriter----写入字符流
(3)BufferedReader----缓冲指定文件的输入(4)BufferedWriter----将缓冲对文件的输出
BufferedReader类的方法有:
void close() 关闭该流。
void mark(int readAheadLimit) 标记流中的当前位置。
boolean markSupported() 判断此流是否支持 mark() 操作(它一定支持)
int read() 读取单个字符。
int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
String readLine() 读取一个文本行。
boolean ready() 判断此流是否已准备好被读取。
void reset() 将流重置为最新的标记。
long skip(long n) 跳过字符。
BufferedWriter类的方法有:
void close() 关闭该流。
void flush() 刷新该流的缓冲。
void newLine() 写入一个行分隔符。
void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
void write(int c) 写入单个字符。
void write(String s, int off, int len) 写入字符串的某一部分。
读写文件实例:
package aillo; import java.io.*; public class FileWriterReader { //功能:读取f:/aillo.txt文件的内容(一行一行读),并将其内容写入f:/jackie.txt中 //知识点:java读文件、写文件---<以字符流方式> public static void main(String[] args) { try { FileReader fr = new FileReader("f:/aillo.txt");//创建FileReader对象,用来读取字符流 BufferedReader br = new BufferedReader(fr); //缓冲指定文件的输入 FileWriter fw = new FileWriter("f:/jackie.txt");//创建FileWriter对象,用来写入字符流 BufferedWriter bw = new BufferedWriter(fw); //将缓冲对文件的输出 String myreadline; //定义一个String类型的变量,用来每次读取一行 while (br.ready()) { myreadline = br.readLine();//读取一行 bw.write(myreadline); //写入文件 bw.newLine(); System.out.println(myreadline);//在屏幕上输出 } bw.flush(); //刷新该流的缓冲 bw.close(); br.close(); fw.close(); br.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } } }
3、java从文本中读取一行数据进行处理实例程序:
链接:http://blog.chinaunix.net/uid-20804770-id-3048513.html
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) {
FileInputStream fis = null;
d53d
InputStreamReader isr = null;
BufferedReader br = null; //用于包装InputStreamReader,提高处理性能。因为BufferedReader有缓冲的,而InputStreamReader没有。
try {
String str = "";
String str1 = "";
fis = new FileInputStream("c:\\小志.txt");//
FileInputStream
// 从文件系统中的某个文件中获取字节
isr = new InputStreamReader(fis);//
InputStreamReader 是字节流通向字符流的桥梁,
br = new BufferedReader(isr);//
从字符输入流中读取文件中的内容,封装了一个new InputStreamReader的对象
while ((str = br.readLine()) != null) {
str1 += str + "\n";
}
// 当读取的一行不为空时,把读到的str的值赋给str1
System.out.println(str1);//
打印出str1
} catch (FileNotFoundException e) {
System.out.println("找不到指定文件");
} catch (IOException e) {
System.out.println("读取文件失败");
} finally {
try {
br.close();
isr.close();
fis.close();
// 关闭的时候最好按照先后顺序关闭最后开的先关闭所以先关s,再关n,最后关m
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
4、java实现读文件修改特定字符之后写入文件
功能:实现对输入文件中特殊字符“px”的检索,之后对其前面的数字进行提取,将字符型数字转换成整型,对数据进行运算,之后再转换成字符型,写入新的文件。
实例程序:
/*function:the file index of char*/
package my_java_test;
import java.io.*;
import java.util.*;
//test file search
//public class TextFileSearch{
public class HelloWorld
{
public static void main(String[] args) throws Exception{
try{
FileReader fr = new FileReader("C:\\test\\test.css");
BufferedReader br = new BufferedReader(fr);
FileWriter fw = new FileWriter("C:\\test\\test- Copy.css");
BufferedWriter bw = new BufferedWriter(fw);
String readline = null;
while(br.ready()){
while((readline = br.readLine()) != null){
int index = 0;
int next = 0;
int intvalue = 0;
String keyword;
keyword = "px";
String tem_strnum = "";
StringBuffer tem_strnum_return = new StringBuffer(tem_strnum);
while((index = readline.indexOf(keyword, next)) != -1){
tem_strnum_return.delete(0, tem_strnum_return.length());
next = index + keyword.length();
while(readline.charAt(index - 1) >= 48 && readline.charAt(index - 1) <= 57){
tem_strnum_return.insert(0,readline.charAt(index - 1));
tem_strnum = tem_strnum_return.toString();
index--;
}
intvalue = (int)(Integer.parseInt(tem_strnum) * 0.8);
//System.out.println(intvalue);
String int_number = Integer.toString(intvalue);
//System.out.println(int_number);
readline = readline.replaceAll(tem_strnum,int_number);
//System.out.println(readline);
}
bw.write(readline);
bw.newLine();
}
}
System.out.println("input file over!");
bw.flush();
bw.close();
br.close();
fw.close();
br.close();
fr.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
相关文章推荐
- [学习笔记]Java文件IO操作------实现对文件的读取与写入
- Java开发Web程序中修改类文件和配置文件不重启服务器的方法
- 学习笔记:使用Web Service Software Factory开发简易留言本服务以及Mobile调用实现-1.创建Service
- java web开发入门笔记 之 web 配置文件
- Java学习笔记(十三)——通过Netbeans开发环境生成oracle数据库中表的对应hibernate映射文件
- Android(java)学习笔记218:开发一个多界面的应用程序之人品计算器的简单实现
- Spring MVC 学习笔记1 - First Helloworld by Eclipse【& - java web 开发Tips集锦】
- Android(java)学习笔记217:开发一个多界面的应用程序之清单文件
- Java 学习笔记15:关于web开发中,全局变量的一点想法
- Java 实现在文件中写入特殊字符,例如:欧元符号€
- Android(java)学习笔记147:textView 添加超链接(两种实现方式,,区别于WebView)
- 学习笔记之cocos2d-x2.1.1实现修改plist文件数据,用TinyXml解析XML
- Java IO 实现文件复制 -Java 学习笔记 (25)
- Java_Web开发之绝对路径与相对路径(学习笔记)
- Java Web开发学习笔记之二
- JAVA WEB开发之基于xml配置文件的分页实现(一) 分页配置原理
- Java学习笔记(2)----Web项目中解析XML文件
- weblogic下开发web项目时修改java文件不用重启的绿色方法,不用修改weblogic的配置文件、不用jar
- JAVA学习笔记(五十二)- 开发DAO层的经典实现
- Web 在线文件管理器学习笔记与总结(2)显示文件列表(名称,类型,大小,可读,可写,可执行,创建时间,修改时间,访问时间)