首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java中IO流,输入输出流概述与总结

createNewFile()文件创建的时候不加.txt或者其他后缀也是文件,不是文件夹;使用mkdir()创建文件夹的时候,如果起的名字是比如aaa.txt也是文件夹不是文件;) 注意事项: 如果你创建文件或者文件夹忘了写盘符路径...): 注意:read()方法读取的是一个字节,为什么返回是int,不是byte 字节输入流可以操作任意类型的文件,比如图片音频等,这些文件底层都是以二进制形式的存储的,如果每次读取都返回byte,有可能在读到中间的时候遇到...) flush()方法: 用来刷新缓冲区的,刷新后可以再次写出(字节缓冲流内置缓冲区,如果没有读取出来,可以使用flush()刷新来) close()方法:用来关闭流释放资源的的,如果是带缓冲区的流对象的...如果要写出字符, 需要把字符转为字节再写出.     IO流(什么情况下使用字符流) * 字符流也可以拷贝文本文件, 但不推荐使用....因为读取时会把字节转为字符, 写出时还要把字符转回字节. * 程序需要读取一段文本, 或者需要写出一段文本的时候可以使用字符流 * 读取的时候是按照字符的大小读取的,不会出现半个中文 * 写出的时候可以直接将字符串写出

1.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

漏洞验证和利用代码编写指南

如: 上传文件的文件名,webshell 密码,print 的值,探测 404 页面使用路径等。 2. 确定性 通过返回的内容找到唯一确定的标识来说明该漏洞是否存在。...虽然灵活运用各种漏洞验证方法可以有效的验证漏洞是否存在,但是对于仅使用单一方法来验证漏洞是否存在时,我倾向于下面的方法优先级: 漏洞利用准则 之所以把漏洞利用和漏洞验证分开来叙述,是因为在我看来漏洞利用才是安全研究人员需要额外注意的部分...比如对于一个命令执行漏洞,漏洞利用代码应该朝着直接获得执行的命令的输出结果去努力,不是一开始就去尝试做反弹 shell、写文件读取达到回显效果这种事。...这种情况下的正确做法应该是优先执行一段代码,不是降级之后的执行命令来完成复杂的操作。 3.最简利用优先 在能达到相同利用效果的情况下,选择最简单的实现路径。...比如,某些情况下付出 30% 的精力就可以写出覆盖 90% 应用环境的代码,如果钻牛角尖,要付出 100% 的精力,编写出适合 99% 应用环境的代码,是无法享受漏洞研究到漏洞利用这整个过程的。

1.6K10

Django中FilePathField字段的使用

FilePathField.match 可选的.FilePathField 将会作为一个正则表达式来匹配文件名。但请注意正则表达式将将被作用于基本文件名不是完整路径。...当然,这些参数可以同时使用。 有一点需要提醒的是 match匹配基本文件名(base filename), 不是整个文件路径(full path).....*", recursive=True) ...将匹配/home/images/foo.png不是/home/images/foo/bar.png 因为只允许匹配 基本文件名(foo.png 和 bar.png...作为与其他字段,您可以更改使用的max_length最大长度。 大多数网站在插入图片时一般都是这样处理的: 上传大尺寸图时,自动生成一张缩略图;网页中插入缩略图,并把地址指向大尺寸的图。...因为考虑到Admin中上传的是大图,缩略图不是上传,而是自动生成的。所以在这样写。

3.6K50

关于什么是IO流

File类构造方法不会给你检验这个文件或文件夹是否真实存在,因此无论该路径是否存在文件或者目录,都不影响File对象的创建。...,因此无论该路径是否存在文件或者目录,都不影响File对象的创建。...注意: 路径是不区分大小写 路径中的文件名称分隔符windows使用反斜杠,反斜杠是转义字符,两个反斜杠代表一个普通的反斜杠 //绝对路径 public class FilePath { public...2.写出字节数组:write(byte[] b),每次可以写出数组中的数据,代码使用演示: public class FOSWrite { public static void main(String...打印流分类: 字节打印流PrintStream,字符打印流PrintWriter 打印流特点: A:操作目的地,不操作数据源 B:可以操作任意类型的数据 C:如果启用了自动刷新,在调用println(

74620

使用autoconf生成Makefile并编译工程的步骤

前言 在Linux下,编译和链接需要用Makefile,写好一个Makefile可不容易,写出一个规范的Makefile更是麻烦。...这里我会用一个工程来说明怎么做,有一些步骤不是必须的,但是如果你看不出来哪些步骤不是必须的,最好跟着一步步走,因为某些步骤省略了,代码也需要做出相应修改(如修改路径等)。...,autoconf通过检测这个文件是否存在,判断这个路径是否正确,一般不用管 AC_CONFIG_HEADERS不用管 插入下面这句,automake阶段需要,否则会报错 AM_INIT_AUTOMAKE...; subdir-objects指的是编译生成的.o文件可以放在子路径(跟源文件放一起),没有这个选项的话,所有.o文件都会放在工程根目录下; bin_PROGRAMS 后面的名字是 生成的可执行二进制文件名...config.h.in autoheader 用automake生成Makefile.in,需要加上 –add-missing使其自动加上缺省文件 automake --add-missing 然后我们这个软件就做好了,可以整个包拿去上传

1K30

JAVA入门学习八

).avi F:\day19_video\19.20_File类(文件名称过滤器的概述及使用).avi 注意事项: 如果你创建文件或者文件夹忘了写盘符路径,那么默认在项目路径下。...).avi 满足条件的 :19.20_File类(文件名称过滤器的概述及使用).avi File类的使用 描述:实现File类的递归文件夹进行查找文件,从键盘接收一个文件夹路径打印出该文件下的所有的java...因为读取时会把字节转为字符, 写出时还要把字符转回字节(效率问题); [-]程序需要读取一段文本或者需要写出一段文本的时候(只读写情况下)可以使用字符流;优点:读取的时候是按照字符的大小读取的不会出现半个中文...[-]程序需要读取一段文本或者需要写出一段文本的时候可以使用字符流;优点:读取的时候是按照字符的大小读取的不会出现半个中文;写出的时候可以直接将字符串写出不用转换为字节数组。...>字符 //#FileWriter是使用默认码表写出文件, 如果需要使用指定码表写出, 那么可以使用OutputStreamWriter(字节流,编码表) public class OutputStreamWriter

63310

PHP安全我见

以后我们在脚本的编写中,尽量使用绝对路径不要使用相对路径(否则脚本如果改变位置,代码也要变),而这个绝对路径就来自入口点文件中的定义。    ...act=xxx不会暴露后台绝对路径,甚至可以经常更改,不用改变太多代码。一个入口点文件也可以验证访问者的身份,比如一个网站后台,不是管理员就不允许查看任何页面。...限制用户权限,预防CSRF     现在脚本漏洞比较火的就是越权行为,很多重要操作使用GET方式执行,或使用POST方式执行没有核实执行者是否知情。    ...在很多存在上传漏洞的网站中,都是验证了MIME类型,没有取文件名的后缀验证,导致上传任意文件。    ...所以我们在类中完全可以忽略这个MIME类型,文件名的后缀,如果在白名单中,才允许上传。

59920

(数据科学学习手札77)基于geopandas的空间数据分析——文件IO

使用到的示例数据为中国地图,CRS为EPSG:4326,本文使用到的所有数据都可以在文章开头提及的Github仓库对应本文路径下找到: ?...图8   当文件在压缩包内的文件夹中时,如图9: ? 图9   使用下面的语法规则来读取数据: zip://路径/xxx.zip!压缩包内指定文件路径   将上述语法运用到上述文件: ?...,不像geopandas.read_file()可以根据传入的文件名称信息自动推断类型,我们在写出矢量数据时就需要使用driver参数来声明文件类型: ESRI Shapefile   我们将上文最后一次读入的...图18   如果导出的文件名不加后缀扩展名,则会生成包含在新目录下的shapefile: data.to_file('output/output_shapefile', driver...图21   但我观察到即使出现了上述错误,GeoPackage文件也是成功保存到路径下的且整个程序并未被打断,因此可以无视上述错误: ?

2K31

Python地信专题 | 基于geopandas的空间数据分析-文件IO篇

本文使用到的所有数据都可以在文章开头提及的Github仓库对应本文路径下找到: 图1 2.1.1 shapefile 作为非常常见的一种矢量文件格式,geopandas对shapefile提供了很好的读取和写出支持...当文件在压缩包内的根目录时,使用下面的语法规则来读取数据: zip://路径/xxx.zip 譬如我们要读取图7所示的压缩包内文件: 图7 按照对应的语法规则,读取该类型数据方式如下: 图8 当文件在压缩包内的文件夹中时...行过滤 行过滤的功能就比较简单,通过参数rows控制读入原数据的前若干行,可以用于在读取大型数据时先快速查看前几行以了解整个数据的格式: 图17 2.2 矢量文件的写出 在geopandas中使用to_file...不像geopandas.read_file()可以根据传入的文件名称信息自动推断类型,我们在写出矢量数据时就需要使用driver参数来声明文件类型: ESRI Shapefile 我们将上文最后一次读入的...这里需要注意一个bug:在使用geopandas导出GeoPackage文件时,可能会出现图21所示错误: 图21 但我观察到即使出现了上述错误,GeoPackage文件也是成功保存到路径下的且整个程序并未被打断

2K10

第5次文章:关于IO流的基本操作

实例一:输出所选文件夹中的所有文件名,包含子孙级文件名 public class Demo05 { public static void main(String[] args) {...2、File对象的创建 File对象的创建可以利用绝对路径和相对路径进行创建。上面的代码中使用的是绝对路径,当我们使用相对路径的时候,Java会默认当前工作空间user.dir为根路径。...3、关于File的一些基本方法 exist:检查此File对象是否真实的存在。 getAbsolutePath:获取File对象的绝对路径。 getParent:返回File对象的上一级目录。...输入流的使用需要和计算机的操作文件进行交互,所以需要捕获异常,捕获异常的时候,会将输入流的申明放入代码段try{}中,成为了此代码段的一个局部变量,这样将不利于我们后续在代码段finally{}中释放资源...如果我们将append参数设置为false,或者使用默认值,那么写出的方式将会是“覆盖”,直接将原文件中的所有数据清空,写入这一个字符串数据“peng is very good”。

32830

locate命令

在数据库中查找,这个数据库中含有本地所有文件信息,Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件,可以主动执行updatedb命令以更新数据库。...-c, --count: 在标准输出上不输出文件名输出匹配条目的数量。...-d, --database : 用指定的数据库替换默认数据库,如果指定了多个--database选项,则结果路径是单独路径的串联,此外空数据库文件名将替换为默认数据库。...-0, --null: 使用ASCII NUL字符分隔输出上的条目,不是将每个条目写在单独的行上,此选项旨在与GNU xargs的 --null选项互操作。...-s, --stdio: 出于BSD和GNU兼容性被忽略。 -V, --version: 输出版本信息。 -w, --wholename: 将整个路径名与指定的模式匹配,这是默认行为。

87820

新手小白学JAVA IO流 File 字节流 字符流

3 File文件类 3.1概述 封装一个磁盘路径字符串,对这个路径可以执行一次操作 可以封装文件路径、文件夹路径、不存在的路径 3.2创建对象 File(String pathname)通过将给定路径名字符串转换为抽象路径名来创建一个新的...());//false,判断是否为文件夹 System.out.println(file.getName());//1.txt获取文件名 System.out.println...可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。...6.3 BufferedOutputstream 子类 该类实现缓冲的输出流,通过设置这种输出流,应用程序就可以将各个字节写入底层输出流中,不必每次针对字节写出调用底层系统 构造方法(创建对象...append) 根据给定的文件名以及指示是否附加写入数据的boolean值来构造FileWriter 7.3 BufferedWriter子类 将文本写入字符输出流,缓冲各个字符,从而提供单个字符

36610

如何将重复工作实现自动化?

可是,公司招1个人,只能优中择优。 因为部门是整个公司的数据处理中心,所以对数据的处理时效还是要求挺高的。各部门的数据传输也主要是Excel表格,所以处理上我们也多数用Excel。...案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作表、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。...下面这个案例是批量更改指定路径下所有文件名 上面这个批量「更改指定路径下所有文件名」的程序,由两个程序组成:文件名提取和文件名更换,可以针对指定路径文件夹(文件夹在哪里)下任何类型文件,更改为指定名称...大家拿去,可以直接使用,文件里有详细的说明步骤。 4.有哪些注意事项? (1)如果勾选「开发工具」功能区并没有出现,可以关掉当前Excel,重启Excel。...1个仅学习1周的同学都可以做出,那么实用又好看的分析表格。我觉得,你一定也可以。 这次我们知道了什么是VBA、有什么用、如何使用,下次我们聊聊如何写出案例中的VBA代码.

20830

如何将重复工作实现自动化?

可是,公司招1个人,只能优中择优。 因为部门是整个公司的数据处理中心,所以对数据的处理时效还是要求挺高的。各部门的数据传输也主要是Excel表格,所以处理上我们也多数用Excel。...案例2:批量修改所有文件名 其实工作中有很多类似这样的重复工作,例如批量更改文件名称、批量汇总多个工作表、批量汇总多个工作簿、自动比对数据、批量生成多个Excel文件等等,都可以用VBA自动化解决。...下面这个案例是批量更改指定路径下所有文件名 上面这个批量「更改指定路径下所有文件名」的程序,由两个程序组成:文件名提取和文件名更换,可以针对指定路径文件夹(文件夹在哪里)下任何类型文件,更改为指定名称...大家拿去,可以直接使用,文件里有详细的说明步骤。 4.有哪些注意事项? (1)如果勾选「开发工具」功能区并没有出现,可以关掉当前Excel,重启Excel。...1个仅学习1周的同学都可以做出,那么实用又好看的分析表格。我觉得,你一定也可以。 这次我们知道了什么是VBA、有什么用、如何使用,下次我们聊聊如何写出案例中的VBA代码。

2.8K10

php面试笔记(7)-php基础知识-文件及目录处理考点

HTTP协议连接只能使用只读,FTP协议可以使用只读、写。 6其他: file(path) file() 函数把整个文件读入一个数组中。 数组中的每个元素都是文件中相应的一行,包括换行符在内。...您可以通过在函数名前面添加一个 '@' 来隐藏错误输出。 02-2目录相关1名称相关: basename(path) basename() 函数返回路径中的文件名部分。...dirname(path) dirname() 函数返回路径中的目录部分。 pathinfo(path) pathinfo() 函数以数组的形式返回文件路径的信息。...is_readable(file) is_readable() 函数判断指定文件名是否可读。 is_writable(file) is_writable() 函数判断指定的文件是否可写。...请看下面这道题: 通过PHP函数的方式对目录进行遍历,写出程序 答案: <?php /** * Created by 冷月小白.

64821

《鸟哥的linux私房菜》基本命令笔记

4.只要开头不是/ 就是相对路径的写法,相对路径是以“当前路径的相对位置”来表示的  ./表示当前路径 ../表示上一层路径 建议在写shell 时使用绝对路径,因为绝对不会出错。...如果想永久保存路径或者变量应在文件中设置,如 系统设置文件 /etc/profile  所有用户都会使用到这个文件 个人设置值 ~/.bash_profile  在登录时读取一次 个人设置值 ~/.../name.pl ,/usr/bin/name.pl;另一种则因为设置了环境变量PATH的路径可以在任何路径执行命令,这两种情况都需要 文件有 x 权限。...-name pattern 条件表达式,检查文件名是否和模式pattern相同。pattern可以用正则表达式给出。必要时使用引号。当文件名与pattern一致时.返回真值.否则为假。...的含义,使它与每一个字符匹配(不是与除 \n 之外的每个字符匹配)。 多行模式 更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,不仅仅在整个字符串的开头和结尾匹配。

2.3K60

Django中FilePathField字段的用法

FilePathField.match 可选的.FilePathField 将会作为一个正则表达式来匹配文件名。但请注意正则表达式将将被作用于基本文件名不是完整路径。...当然,这些参数可以同时使用。 有一点需要提醒的是 match匹配基本文件名(base filename), 不是整个文件路径(full path).....*”, recursive=True) …将匹配/home/images/foo.png不是/home/images/foo/bar.png 因为只允许匹配 基本文件名(foo.png 和 bar.png...作为与其他字段,您可以更改使用的max_length最大长度。 大多数网站在插入图片时一般都是这样处理的: 上传大尺寸图时,自动生成一张缩略图;网页中插入缩略图,并把地址指向大尺寸的图。...因为考虑到Admin中上传的是大图,缩略图不是上传,而是自动生成的。所以在这样写。

2.7K10

IO流

绝对路径:从盘符开始的路径,这是一个完整的路径 相对路径:相对于项目目录的路径不是盘符开始,从项目名称的位置开始,不带项目名称 判断功能的方法 public boolean exists()...如果有这个文 件,会清空这个文件的数据,写入新的信息 write(int b) 写出字节 每次可以写出一个字节数据 //使用File对象创建流对象...write(byte[] b) 写出字节数组 可以通过getBytes方法把汉字转成字节数组 //使用File对象创建流对象 File file...读取字节数据 read()方法 作用:每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回 -1 示例 方式1 // 使用文件名称创建流对象 FileInputStream...如果我们既想写出数据,又想继续使用流,就需要 flush 方法了 flush 刷新缓冲区,流对象可以继续使用 close 关闭流,释放系统资源。关闭前会刷新缓冲区。

13410
领券