2022-11-21 14:02来源:m.sf1369.com作者:宇宇
一、文件的创建、删除和重命名
File file = new File("/bin/hello.txt");//文件无法被创建,系统找不到指定的路径
file.createNewFile();
File file = new File("bin/hello.txt");
file.createNewFile();
File file = new File("../hello.txt");//在当前目录的上一层目录创建文件
file.createNewFile();
File file = new File("../../hello.txt");//在当前目录的上一层目录创建文件
file.createNewFile();
file.exists()
File nameto = new File("Hello.txt");
file.renameTo(nameto);//重命名文件
重命名文件,达到了移动文件的效果,跨目录时,要求源和目的必须处于同一个分区
另外如果目标的重命名文件已经存在,重命名操作也会失败的
文件处于不同的分区,需要使用文件的copy,而不是重命名
File nameto = new File("src/new Hello.txt");
file.renameTo(nameto);//重命名文件
//文件
file.isFile();
//路径(文件夹)
file.isDirectory();
file.delete();//删除文件
二、文件夹的创建、删除和重命名
File folder1 = new File("my new folder");
File folder2 = new File("my new folder/one/two/three/main");
mkdirDemo(folder1);
mkdirsDemo(folder2);
File newfolder = new File("my new folder-new");
renameFolder(folder1, newfolder);
File newfolder2 = new File("my new folder/one/2/three/main");
renameFolder(folder2, newfolder2);//重命名失败,被重命名的文件夹在构造函数中,必须是多级目录的最后一个子目录
File newfolder3 = new File("my new folder/one/2");
renameFolder(folder2, newfolder3);//重命名失败,被重命名的文件夹在构造函数中,必须是多级目录的最后一个子目录
//必须处于同一个分区,另外如果目标的重命名文件夹已经存在,重命名操作也会失败的
File folderSrc = new File("my new folder/one/two/three");
File folderDest = new File("my new folder/one/three");
if(folderSrc.renameTo(folderDest)){
System.out.println("done");
}else {
System.out.println("fail");
}
File folder4 = new File("my new folder/one/two");//必须是空文件夹才可以删除,如果包含了其他文件或文件夹,那么删除失败
if(folder4.delete()){
System.out.println("done");
}else {
System.out.println("delete fail");
}
}
//创建单个目录,文件夹如果已经存在的话则会报错,创建失败.
private static void mkdirDemo(File folder) {
if(folder.mkdir()){
System.out.println("文件夹创建完成");
}else{
if(folder.exists()){
System.out.println("文件夹已经存在不用创建.");
}else {
System.out.println("文件夹创建失败");
}
}
/**
* 创建多级目录,当然参数如果是一级目录,就只会创建一级目录
* 文件夹如果已经存在的话也不会报错,已经存在的话就不创建
* @param folder2
*/
private static void mkdirsDemo(File folder2) {
if(folder2.mkdirs()){
System.out.println("文件夹创建完成!");
}
}
/**
* 重命名文件夹
* @param srcFolder
* @param destFolder
*/
private static void renameFolder(File srcFolder, File destFolder) {
if(srcFolder.renameTo(destFolder)){
System.out.println("重命名完成");
}else {
System.out.println("重命名失败");
}
}
三、读取文件的属性
File file = new File("text.txt");
//判断文件是否存在
System.out.println(file.exists());
//读取文件名称,只跟构造函数中的名称有关,和文件是否存在无关
System.out.println(file.getName());
//读取文件路径,相对路径
System.out.println(file.getPath());
//读取文件路径,绝对路径,从磁盘的根目录开始算的
System.out.println(file.getAbsolutePath());
//读取文件的父级路径
System.out.println(file.getParent());//结果为null,因为file对应的路径是text.txt(构造函数).
System.out.println(new File(file.getAbsolutePath()).getParent());
//读取文件的大小,单位是字节
System.out.println(file.length()/1000 + "KB");//硬盘上单位进制是1000而不是1024
//判断文件是否是隐藏文件
//在linux下,以点开头的文件就是隐藏文件,在windows下,右键设定文件的隐藏属性
System.out.println(file.isHidden());
//判断文件是否可读
System.out.println(file.canRead());
//判断文件是否可写
System.out.println(file.canWrite());
//判断文件是否是文件夹
System.out.println(file.isDirectory());
四、设置文件的属性
//将文件设置为可写
file.setWritable(true);
//将文件设置为不可写
file.setWritable(false);
//将文件设置为可读
file.setReadable(true);
//将文件设置成不可读不可写
file.setReadable(false);
file.setWritable(false);
//将文件设置为只读
file.setReadOnly();
java不能直接打开,你可以进入命令行模式或者使用ide运行java代码。
使用命令行模式运行java程序。
1.
win + R,输入cmd,然后输入java和javac,确保java已经成功安装。
2.
找到编写好的文件位置,用cd 命令进入
比如,我的文件在桌面,就这样输入命令
3.
然后使用javac命令编译程序,最后私用java命令运行程序。
提示,不要通过字节流或者是字符流的形式进行读取,可以直接通过BufferedReader 流的形式进行流读取,就没有换行符无法区分的问题,之后通过readLine方法获取到流的内容。
BufferedReader bre = null;try {String file = "D:/test/test.txt"
;bre = new BufferedReader(new FileReader(file))
;//此时获取到的bre就是整个文件的缓存流while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环{System.out.println(str)
;//原样输出读到的内容};备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
三种方式
方式一:使用FileOutputStream,其构造器(如下),如果 append 参数为 true,则将字节写入文件末尾处,相当于追加信息。如果 append 参数为 false, 则覆盖文件。
FileOutputStream(File file, boolean append);FileOutputStream(String name, boolean append);
方式二:使用FileWriter,其构造器也存在append参数,将其设为true即可
FileWriter(File file, boolean append)
方式三:使用RandomAccessFile,该类可以设置指针在文件的任意位置插入数据,也就说不仅仅能在末尾,也能在其他位置进行插入。
skipBytes方法可跳过指定字节的数据
seek方法也拥有skipBytes的功能,但是seek( )在使用过程影响系统的开销
希望我的回答对你有所帮助
1.首先在本地存放一个文件;
2.接着打开IDEA开始网络编程,分别创建两个类,客户端类和服务器类;
3.接着在客户端类中创建一个本地文件输入流,读取本地文件;同时创建Socket对象,并使用网络字节输出流向服务器发起传输文件的请求;
4.然后在服务器类中创建ServerSocket对象,并使用对象的getInputStream()方法读取从客户端传来的文件;同时创建本地文件输出流,用于写出并将文件存放到服务器的指定位置;
5.服务器端接收并存储文件成功后,服务器类需要向客户端反馈相关信息,因此继续使用Socket类的getOutputStream()方法反馈文件“上传成功”的信息;客户端类使用getInputStream()方法读取服务器反馈的信息,完成一次通信;
6.最后,先启动服务器类,在启动客户端类,查看文件是否上传成功。
Python 变量命名规则
模块名 & 包名
纯小写字母,单词之间用 _ 分割
类名
首字母大写,不用 _ 分割
全局变量名(类似于 Java 中的 static 变量)
纯大写,单词之间用 _ 分割
普通变量
纯小写字母,_ 分割
私有实例变量(外部访问会报错)
以 __ (两个下划线)开头,其余和普通变量保持一致
专有变量
__ 开头 __ 结尾,一般为 python 的自有变量,不要以这种方式命名
普通函数
和普通变量保持一致
私有函数
以 __ (两个下划线)开头,其余和普通函数保持一致
文件名
全小写,可使用下划线
包名
简短的、小写的名字,如果下划线可以改善可读性,也可以加入下划线
模块名
与包的规范相同
类名
首字母大写,内部类可以用额外的下划线
函数名
全部小写、用下划线隔开增加可读性
自己电脑上装好JDK环境,进入bin目录,找到可以执行的.jar文件,在cmd里java -jar xx.jar就行了不需要导入eclipse
这个是你安装的时候没有把它显示出来,有个设置,你可以在文件里找到这个软件后,然后把它设置快捷方式就行了!!
可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到每行的内容,之后通过OutputStreamWriter进行文件写入。 BufferedReader bre = null;OutputStreamWriter pw = null;//定义一个流try {String file = "D:/test/test.txt"
;bre = new BufferedReader(new FileReader(file))
;//此时获取到的bre就是整个文件的缓存流pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK")
;//确认流的输出文件和编码格式,此过程创建了“test.txt”实例while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环{pw.write(str )
;//将要写入文件的内容,写入到新文件};
pw.close()
;//关闭流bre .close()
;//关闭流备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。