- 博客(21)
- 资源 (1)
- 收藏
- 关注
转载 Arrays.asList引起的惨案
最近代码中需要对两个数组求交,想当然便用到了List中的retainAll函数,但要将将数组转换成list。代码如下:String[] abc = new String[] { "abc", "acd", "add" };String[] abd = new String[] {"acd", "cd", "de"};List abcList = Arrays.asList(ab
2016-07-14 16:15:08 261
转载 Java追加文件内容的三种方法
import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; import
2016-07-09 14:54:26 552
转载 读取Java文件到byte数组的三种方式
package zs; import java.io.BufferedInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; i
2016-07-09 14:47:34 1667
转载 InputStreamReader和OutputStreamWriter的用法
首先说明下字节流和字符流:FileReader,FileWriter 是读字符的,1个字符是2个字节,16位OutputStream ,InputStream是读字节的,1个字节是8位如果要读汉字,一个汉字是2个字节,用InputStream读就把汉字折成两半,不太适合吧。字符流主要读文本效率比较高。字节流主要读二进制文件,图片 ,音频,视频等,就是为了防止出现读取
2016-07-09 13:57:13 349
转载 Java 中InputStream与Reader的区别
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区
2016-07-09 11:04:44 229
转载 [Java]读取文件方法大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileN
2016-07-09 10:21:37 280
转载 Java中的IO流知识总结(转)
总结一:Java IO的一般使用原则:一、按数据来源(去向)分类:1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream3、是Char[]: CharArrayReader
2016-07-08 14:59:02 733
转载 Java读文件写文件操作
这里,Java的读文件和写文件都是基于字符流的,主要用到下面的几个类:1、FileReader----读取字符流2、FileWriter----写入字符流3、BufferedReader----缓冲指定文件的输入该类的方法有:void close() 关闭该流。 void mark(int readAheadLimit) 标记流中的
2016-07-08 10:53:49 305
转载 java复制文件或文件夹
[java] view plain copypackage com.xuanwu.mtoserver.util; import java.io.*; /** * @author Toby 复制文件夹或文件夹 */ public class FileUtil { public static void
2016-07-08 10:48:30 387
转载 使用org.apache.commons.io.FileUtils,IOUtils;工具类操作文件
解决转换空格 String fileName = StringUtils.trim(file.getName()); String formatFileName = encodingFileName(name);//在后面定义方法encodingFileName(String fileName); response.setHeader("Content-Disposition",
2016-07-07 17:34:49 606
转载 RuntimeException与CheckedException差异
RuntimeException与CheckedException Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常)。所有RuntimeException类及其子类实例被称为Runtime异常;不是RuntimeException类及其子类的异常实例则称为Checked异常。 只有Java语言提供了Checked异常,其他语言都没有提供Checked异常。Java
2016-07-07 10:18:42 369
转载 RuntimeException与CheckedException差异
RuntimeException与CheckedException Java的异常被分为两大类:Checked异常和Runtime异常(运行时异常)。所有RuntimeException类及其子类实例被称为Runtime异常;不是RuntimeException类及其子类的异常实例则称为Checked异常。 只有Java语言提供了Checked异常,其他语言都没
2016-07-07 10:17:25 351
转载 [Java并发包学习九]Java中的阻塞队列
什么是阻塞队列阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。阻塞队列提供了四种处理方法:
2016-07-02 11:40:21 333
转载 [Java并发包学习八]深度剖析ConcurrentHashMap
概述记得很多面试书中都说到:HashMap是非线程安全的,HashTable是线程安全的。那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线程安全的,内部怎么实现的,通通不了解。今天我们将深入剖析一个比HashTable性能更优的线程安全的Map类,它就是ConcurrentH
2016-07-02 11:38:58 295
转载 [Java并发包学习六]Semaphore介绍
概述emaphore字面意思是信号量。他主要用于控制有限的资源的访问数量。我们看一个生活中常常出现的场景:一个厕所只有3个坑位,但是有10个人来上厕所,那怎么办?假设10的人的编号分别为1-10,并且1号先到厕所,10号最后到厕所。那么1-3号来的时候必然有可用坑位,顺利如厕,4号来的时候需要看看前面3人是否有人出来了,如果有人出来,进去,否则等待。同样的道理,4-10号也需要
2016-07-02 11:16:25 328
转载 [Java并发包学习五]CountDownLatch和CyclicBarrier介绍
概述JDK中提供了一些用于线程之间协同等待的工具类,CountDownLatch和CyclicBarrier就是最典型的两个线程同步辅助类。下面分别详细介绍这两个类,以及他们之间的异同点。CountDownLatch类CountDownLatch顾名思义:倒计数锁存器。没错,他就是一个计数器,并且是倒着计数的。他的应用场景如下:一个任务A,他需要等待其他的一些任
2016-07-02 11:14:49 275
转载 [Java并发包学习四]Future和FutureTask
概述Future主要用来表示线程异步执行的结果,他提供了检查异步执行的程序是否已经执行完毕、是否已经被取消,并且获取执行结果的方法。它是一个接口,接口的定义如下:12345678public interface Future { boolean cancel(boolean mayInterruptIfRunning);
2016-07-02 11:10:57 304
转载 [Java并发包学习三]ThreadFactory介绍
概述ThreadFactory翻译过来是线程工厂,顾名思义,就是用来创建线程的,它用到了工厂模式的思想。它通常和线程池一起使用,主要用来控制创建新线程时的一些行为,比如设置线程的优先级,名字等等。它是一个接口,接口中只有一个方法:123456789/** * Constructs a new {@code Thread}. Im
2016-07-02 10:57:26 398
转载 [Java并发包学习二]Executors介绍
概述Executors类是JDK 1.5开始自带的一个非常强大的主要用于创建各类线程池的工具类。常用方法介绍newFixedThreadPoolnewFixedThreadPool方法有两种函数签名:12public static ExecutorService newFixedThreadPool(int nThreads)
2016-07-02 10:53:26 323
转载 [Java并发包学习一]Executor和ExecutorService
本文介绍jdk8并发包中的Executor/ExecutorService这两个接口。Executor接口概述该类提供一个提交任务的方法,提交的任务可以在提交程序本线程运行,也可以在不同的线程运行,也可以在一个线程池中的线程运行,全看如何使用。However, the {@code Executor} interface does not strictlyreq
2016-07-02 10:43:30 442
转载 Linux常用命令
关键字: linux 查进程、杀进程、起进程1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序。 ps -A 显示所有程序。 ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。 ps -e 此参数的效果和指定"A"参数相同。 ps e 列出程序时
2016-07-01 10:48:05 429
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人