◎◎◎FileInputStream 字节输入流读文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("G:\\just for fun\\xiangwei.txt")
FileInputStream fin=new FileInputStream(f)
byte[] bs=new byte[1024]
int count=0
while((count=fin.read(bs))>0)
{
String str=new String(bs,0,count) //反复定义新变量:每一次都 重新定义新变量,接收新读取的数据
System.out.println(str) //反复输出新变量:每一次都 输出重新定义的新变量
}
fin.close()
}
}
◎◎◎FileReader 字符输入流读文件◎◎◎
public class Maintest {
public static void main(String[] args) throws IOException {
File f=new File("H:\\just for fun\\xiangwei.txt")
FileReader fre=new FileReader(f)
BufferedReader bre=new BufferedReader(fre)
String str=""
while((str=bre.readLine())!=null) //●判断最后一行不存在,为空
{
System.out.println(str)
}
bre.close()
fre.close()
}
}
/** * 读出写出 * @param oldFileName 源文件 * @param newFileName 新文件 * @throws IOException */public static void testRead(String oldFileName,String newFileName) throws IOException{FileOutputStream fos=new FileOutputStream(new File(newFileName)) RandomAccessFile raf=new RandomAccessFile(new File(oldFileName), "rw") fos.write(raf.read(new byte[8])) fos.flush() fos.close() raf.close()} public static void fileWrite() throws FileNotFoundException, IOException {testRead("G:/森云/测试文件1。txt","G:/newFile.txt")}按照你的要求编写简单加密(把每个英文字母向后移动3个字母)的Java程序如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.File
import java.io.FileReader
import java.io.FileWriter
public class CA {
public static void main(String[] args) {
BufferedReader br = null//定义一个缓存读取类
BufferedWriter bw = null//定义一个缓存写入类
try {
File f_Source=new File("source.txt")//原始文件
br=new BufferedReader(new FileReader(f_Source))//从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
File f_Target=new File("target.txt")//目标文件
bw=new BufferedWriter(new FileWriter(f_Target))//将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
String s=""//定义一个临时变量,临时存储每行的文本
while((s=br.readLine())!=null){//读取文件中的每一行并存入临时变量s,直到文件末尾.
s=s.trim()//去掉每行前后的空格
String str=""//定义一个临时变量,准备写入的一行文本
for(int i=0i<s.length()i++){//遍历这一行文本的每个字符
char ch=s.charAt(i)//把这一行文本的中一个字符赋给一个字符变量
if(Character.isLetter(ch)){//如果这个字符是字母
if(Character.isUpperCase(ch)){//如果这个字符是大写字母
if(ch-'A'+3>25){//如果这个字符向后移3个字符大于Z
ch=(char) ('A'+(ch-'A'+3)%26)//这个字符从A向后移相应的字符
}else{//如果这个字符向后移3个字符不大于Z
ch=(char) (ch+3)//这个字符向后移3个字符
}
}
if(Character.isLowerCase(ch)){//如果这个字符是小写字母
if(ch-'a'+3>25){//如果这个字符向后移3个字符大于z
ch=(char) ('a'+(ch-'a'+3)%26)//这个字符从a向后移相应的字符
}else{//如果这个字符向后移3个字符不大于z
ch=(char) (ch+3)//这个字符向后移3个字符
}
}
}
str=str+ch//把每个加密或没加密的字符重新拼装成一行字符串
}
bw.write(str)//把这一行字符串写入目标文件
bw.newLine()//目标文件写入换行符
}
} catch (Exception e) {//捕获异常
e.printStackTrace()//输出异常信息
}finally{
try {
bw.close()//关闭写入缓冲流
br.close()//关闭读取缓冲流
} catch (Exception e) {//捕获异常
e.printStackTrace()//输出异常信息
}
}
System.out.println("文件加密完毕!")
}
}
运行结果:
source.txt文件内容
we are the world.
abc xyz.
target.txt文件加密内容
zh duh wkh zruog.
def abc.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)