绝对路径和相对路径
import java.io.File;
public class Demo {
public static void main(String[] args) {
File file = new File("c:\\a.txt");
File file1 = new File("a.text");
System.out.println(file.getAbsolutePath());
System.out.println(file1.getAbsolutePath());
}
}
输入输出流
输入输出流:即io流,它分为输入流和输出流;
分类:
按数据的流向分:
输入流和输出流。
按传输的类型分:
字节流和字符流。
还有打印流,对象流等等。
基本上讲以下的几种常见类:
InputStream,OutputStream(字节流),Reader,Writer(字符流)
OutputStream
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo1 {
public static void main(String[] args) throws IOException {
FileOutputStream file = new FileOutputStream("D:\\a.txt");
byte[] name1 = new byte[10];
name1[0] = 'A';
for (int i = 1; i < name1.length; i++) {
name1[i] = ++name1[i-1];
if(i == name1.length-1) {
System.out.println("这里执行了");
++name1[i];
System.out.println("这里执行了");
}
}
file.write(name1);
file.close();
System.out.println("写完了");
}
}
InputStream
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Demo2 {
public static void main(String[] args) throws IOException {
FileInputStream file = new FileInputStream("d:\\a.txt");
while (true) {
if(file.read() == -1)
break;
System.out.println((char) file.read());
}
}
}
字符输出
import java.io.FileWriter;
import java.io.IOException;
public class Demo3 {
public static void main(String[] args) throws IOException {
FileWriter file = new FileWriter("d://b.txt",true);
file.append('c').append('b').append('a');
file.close();
System.out.println("成功");
}
}
字符读取
import java.io.FileReader;
import java.io.IOException;
public class Demo4 {
public static void main(String[] args) throws IOException {
FileReader file = new FileReader("d:\\b.txt");
char[] ch = new char[100];
int read = file.read(ch);
String text = new String(ch,0,read);
System.out.println(text.length());
System.out.println(text);
}
}
文件加密和解密
import java.io.*;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) throws IOException {
System.out.println("请输入要加密的文件的路径:");
Scanner input = new Scanner(System.in);
String path = input.nextLine();
File oldfile = new File(path);
File newfile = new File(oldfile.getParentFile(),"mi-"+oldfile.getName());
FileInputStream fis = new FileInputStream(oldfile.getAbsoluteFile());
FileOutputStream fos = new FileOutputStream(newfile.getAbsoluteFile());
while(true){
int b = fis.read();
if(b == -1)
break;
fos.write(b^10);
}
System.out.println("加密成功!");
}
}
字符编码
计算机采用的数据存储方式位二进制存储。无论是图片,视频,文字还是任何其他
的显示,都逃不开二进制存储。
那么这就涉及到了翻译问题了,早在1961年国外就发明了ASCII码表,他可以编译各种
英文字符为计算机语言,然后现在又出现了Unicode等编码表,这里推荐大家使用
UTF-8。
计算机上有五个主要部分硬盘,内存,CPU,显卡还有显示器。
硬盘和内存都是用来存储数据的,区别是前者永久存储数据,而后者短期存储数据;
CPU和显卡都是计算的部分,区别是CPU主要负责程序上的计算,而显卡负责图像的
计算;
最后就是显示器了,它的作用就是显示图形和文字。推荐程序员使用带鱼屏或者
旋转屏。这相当于程序员的物理外挂。