File API
package file;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File file = new File("./test.txt");
String name = file.getName();
System.out.println("name:"+name);
long length = file.length();
System.out.println("length:"+length);
boolean cw = file.canWrite();
boolean cr = file.canRead();
System.out.println("可写:"+cw);
System.out.println("可读:"+cr);
boolean ih = file.isHidden();
System.out.println("隐藏:"+ih);
}
}
package file;
import java.io.File;
public class DeleteFileDemo {
public static void main(String[] args) {
File file = new File("./demo.txt");
if(file.exists()) {
file.delete();
System.out.println("文件已删除");
}else {
System.out.println("文件不存在");
}
}
}
package file;
import java.io.File;
public class MkDirDemo {
public static void main(String[] args) {
File dir = new File("./demo");
if(!dir.exists()) {
dir.mkdir();
System.out.println("目录已创建");
}else {
System.out.println("目录已存在");
}
}
}
package file;
import java.io.File;
public class MkDirsDemo {
public static void main(String[] args) {
File dir = new File("./a/b/c/d/e/f");
if(!dir.exists()) {
dir.mkdirs();
System.out.println("创建完毕!");
}else {
System.out.println("目录已存在!");
}
}
}
package file;
import java.io.File;
public class DeleteDirDemo {
public static void main(String[] args) {
File dir = new File("./demo");
if(dir.exists()) {
dir.delete();
System.out.println("删除完毕!");
}else {
System.out.println("目录不存在!");
}
}
}
package file;
import java.io.File;
public class ListFilesDemo {
public static void main(String[] args) {
File dir = new File(".");
if(dir.isDirectory()) {
File[] subs = dir.listFiles();
for(int i=0;i<subs.length;i++) {
File sub = subs[i];
System.out.println(sub.getName());
}
}
}
}
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File dir = new File("./a");
delete(dir);
}
public static void delete(File f) {
if(f.isDirectory()) {
File[] subs = f.listFiles();
for(int i=0;i<subs.length;i++) {
File sub = subs[i];
delete(sub);
}
}
f.delete();
}
}
package file;
import java.io.File;
import java.io.FileFilter;
public class ListFilesDemo2 {
public static void main(String[] args) {
File dir = new File(".");
FileFilter filter = new FileFilter() {
public boolean accept(File file) {
String name = file.getName();
System.out.println("正在过滤:"+name);
return name.startsWith(".");
}
};
File[] subs = dir.listFiles(filter);
System.out.println(subs.length);
for(int i=0;i<subs.length;i++) {
System.out.println(subs[i].getName());
}
}
}
package file;
import java.io.File;
import java.io.IOException;
public class CreateNewFileDemo {
public static void main(String[] args) throws IOException {
File file = new File("./demo.txt");
if(!file.exists()) {
file.createNewFile();
System.out.println("文件已创建");
}else {
System.out.println("文件已存在");
}
}
}
RandomAccessFile API
package raf;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RafDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf
= new RandomAccessFile("raf.dat","rw");
raf.write(1);
System.out.println("写出完毕!");
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf
= new RandomAccessFile("raf.dat","r");
int d = raf.read();
System.out.println(d);
d = raf.read();
System.out.println(d);
raf.close();
}
}
package raf;
import java.io.IOException;
import java.io.RandomAccessFile;
public class CopyDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile src
= new RandomAccessFile("movie.wmv","r");
RandomAccessFile desc
= new RandomAccessFile("movie_cp.wmv","rw");
int d = -1;
while((d = src.read())!=-1) {
desc.write(d);
}
System.out.println("复制完毕!");
src.close();
desc.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class CopyDemo2 {
public static void main(String[] args) throws IOException {
RandomAccessFile src
= new RandomAccessFile("nox.exe","r");
RandomAccessFile desc
= new RandomAccessFile("nox_cp.exe","rw");
int len = -1;
byte[] data = new byte[1024*10];
long start = System.currentTimeMillis();
while((len = src.read(data))!=-1) {
desc.write(data,0,len);
}
long end= System.currentTimeMillis();
System.out.println("复制完毕!耗时"+(end-start)+"ms");
src.close();
desc.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class WriteStringDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf = new RandomAccessFile("raf.txt","rw");
String line = "大家好,我是渣渣辉。";
byte[] data = line.getBytes("UTF-8");
raf.write(data);
System.out.println("写出完毕");
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadStringDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf = new RandomAccessFile("raf.txt","r");
byte[] data = new byte[(int)raf.length()];
raf.read(data);
String str = new String(data,"UTF-8");
System.out.println(str);
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Test {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文件名:");
String fileName = scanner.nextLine();
RandomAccessFile raf
= new RandomAccessFile(fileName,"rw");
System.out.println("请开始输入内容:");
String line = "";
while(true) {
line = scanner.nextLine();
if("exit".equals(line)) {
break;
}
raf.write(line.getBytes("UTF-8"));
}
System.out.println("再见!");
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RafDemo2 {
public static void main(String[] args) throws IOException {
RandomAccessFile raf
= new RandomAccessFile("raf.dat","rw");
long pos = raf.getFilePointer();
System.out.println("pos:"+pos);
int max = Integer.MAX_VALUE;
raf.write(max>>>24);
System.out.println("pos:"+raf.getFilePointer());
raf.write(max>>>16);
raf.write(max>>>8);
raf.write(max);
System.out.println("pos:"+raf.getFilePointer());
raf.writeInt(max);
System.out.println("pos:"+raf.getFilePointer());
raf.writeLong(123L);
System.out.println("pos:"+raf.getFilePointer());
raf.writeDouble(123.123);
System.out.println("pos:"+raf.getFilePointer());
System.out.println("写出完毕!");
raf.seek(0);
System.out.println("pos:"+raf.getFilePointer());
int d = raf.readInt();
System.out.println(d);
System.out.println("pos:"+raf.getFilePointer());
raf.seek(8);
System.out.println("pos:"+raf.getFilePointer());
long l = raf.readLong();
System.out.println(l);
System.out.println("pos:"+raf.getFilePointer());
double dou = raf.readDouble();
System.out.println(dou);
System.out.println("pos:"+raf.getFilePointer());
raf.close();
}
}
package raf;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.Scanner;
public class RegDemo {
public static void main(String[] args) throws IOException {
System.out.println("欢迎注册");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入密码:");
String password = scanner.nextLine();
System.out.println("请输入昵称:");
String nickname = scanner.nextLine();
System.out.println("请输入年龄:");
int age = Integer.parseInt(scanner.nextLine());
System.out.println(username+","+password+","+nickname+","+age);
RandomAccessFile raf
= new RandomAccessFile("user.dat","rw");
raf.seek(raf.length());
byte[] data = username.getBytes("UTF-8");
data = Arrays.copyOf(data, 32);
raf.write(data);
data = password.getBytes("UTF-8");
data = Arrays.copyOf(data, 32);
raf.write(data);
data = nickname.getBytes("UTF-8");
data = Arrays.copyOf(data, 32);
raf.write(data);
raf.writeInt(age);
System.out.println("注册完毕!");
raf.close();
}
}
package raf;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class RafDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf
= new RandomAccessFile("raf.dat","rw");
raf.write(1);
System.out.println("写出完毕!");
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf
= new RandomAccessFile("raf.dat","r");
int d = raf.read();
System.out.println(d);
d = raf.read();
System.out.println(d);
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.Scanner;
public class UpdateDemo {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入新的昵称:");
String nickname = scanner.nextLine();
RandomAccessFile raf
= new RandomAccessFile("user.dat","rw");
boolean update = false;
for(int i=0;i<raf.length()/100;i++) {
raf.seek(i*100);
byte[] data = new byte[32];
raf.read(data);
String name = new String(data,"UTF-8").trim();
if(name.equals(username)) {
raf.seek(i*100+64);
data = nickname.getBytes("UTF-8");
data = Arrays.copyOf(data, 32);
raf.write(data);
System.out.println("修改完毕!");
update = true;
break;
}
}
if(!update) {
System.out.println("无此用户!");
}
raf.close();
}
}
package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ShowAllUserDemo {
public static void main(String[] args) throws IOException {
RandomAccessFile raf
= new RandomAccessFile("user.dat","r");
for(int i=0;i<raf.length()/100;i++) {
byte[] data = new byte[32];
raf.read(data);
String username = new String(data,"UTF-8").trim();
raf.read(data);
String password = new String(data,"UTF-8").trim();
raf.read(data);
String nickname = new String(data,"UTF-8").trim();
int age = raf.readInt();
System.out.println(username+","+password+","+nickname+","+age);
}
raf.close();
}
}