今日学习 IO操作 java&XML Socket 二:IO操作 流 基本功能:读和写 字节流:以“Stream”结尾;可以处理所有类型的数据,在读取时,读到一个字节就返回一个字节。 字符流:以“Reader”或“Writer”结尾;仅能处理纯文本数据,在读取时,速到一个或多个字节,先查找指定的编码表,然后将查到的字符返回。 |/ | 字节流 | 字符流 | |–|–|–| | 输入流 | InputStream | Reader | | 输出流 | OutputStream | Writer |
字节流(Stream) DataInputStream 和 DataOutputStream 可以以二进制格式读写所有的基本 Java 类型。 FileInputStream 和 FileOutputStream 可以提供附着在一个磁盘文件上的输入流和输出流,而你只需向其构造器提供文件名或文件的完整路径名。 BufferedInputStream(InputStream in)
创建一个带缓冲区的流。带缓冲区的输入流在从流中读入字符时,不会每次都对设备访问。当缓冲区为空时,会向缓冲区中读入一个新的数据块。 BufferedOutputStream(OutputStream out) 创建一个带缓冲区的流。带缓冲区的输出流在收集要写出的字符时,不会每次都对设备访问。当缓冲区填满或当流被冲刷(flush)时,数据就被写出。 流在默认情况下是不被缓冲区缓存的,如果想使用缓冲机制,以及用于文件的数据输入方法,那么必须要用到以下构造器序列: DataInputStream din = new DateInputStream( new BufferedInputStream( new FileInputStream("filename.txt"))); 把 DataInputStream 置于构造器链的最后,这是因为我们希望使用DataInputStream 的方法,并且希望它们能够使用带缓冲机制的 read 方法。 - PushbackInputStream(InputStream in)
Read More →
今日学习 java集合/本地文件操作/IO操作/多线程 单例模式 一:集合类 Collection接口 可以理解为一个动态的对象数组,不同的时集合中的对象内容可以任意扩充 特点 性能高 容易扩展和修改 Collection的常用子类 List:可以存放任意数据,可重复(在迭代输出时,不能对集合的元素进行删除操作) ArrayList:非线程安全,异步处理,性能高 Vector:线程安全,同步处理,性能低 Set:不能重复,可以排序 HashSet TreeSet:有序排放 Queue:先进先出 List<String> lists = null; lists = new ArrayList<>(); lists.add("A"); lists.add("B"); for(int i=0; i<lists.size();i++){ System.out.println(lists.get(i)); } lists.remove(0); // 查询是否存在 System.out.println("indexOf "+lists.indexOf("K")); // 是否为空 System.out.println("isEmpty "+lists.isEmpty()); Iterator接口(迭代器) 集合输出的标准操作 专门的迭代输出接口,将元素一个个进行判断,判断其是否有内容,如果有内容,就取出 只能单向移动 元素被访问的顺序取决于集合的类型 调用next时,迭代器就越过下一个元素,并返回刚刚越过的那个元素的引用 List<String> list = new ArrayList<>(); list.add("D"); list.add("K"); list.
Read More →
maven maven 报错 Unknown lifecycle phase “–version”. You must specify a valid lifecycle pid>:[:]:. Available lifecycle phases a-resources, process-resources, compile, process-classes, generate-test-sources, , test-compile, process-test-classes, test, prepare-package, package, pre-integr deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy.
解决办法: 第一步:mvn install 第二步:mvn compiler:compile 第三步:mvn org.apache.maven.plugins:maven-compiler-plugin:compile 第四步:mvn org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile
建立项目 file->new->project->Maven->Create from archetype->org.apache.maven.archetypes:maven-archetype-quickstart
父子项目: 在父项目中新建一个maven项目,并将父项目中的src文件删除。
pom.xml 文件配置如下,即可以生成可执行jar包。 <build> <sourceDirectory>src/main/java</sourceDirectory> <finalName>test4</finalName><!--你的jar文件的名字--> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <appendAssemblyId>false</appendAssemblyId> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>com.
Read More →