java学习小记二
最近一直纠结于Java的IO中,刚开始看的一头雾水,各种Stream,各种Reader,各种Buffer。headache!
1,总的来说就包括InputStream 和 OutputStream 两个,具体应该用不到,都是用他们的派生类。
2,File 类的Object 可以是一个文件,也可以是一个directory/path。
3,Stream 是面向low-level的,而Reader/Writer是面向character的。
4,Whenever you want use readLine(),use BufferedReader。Other than this, DataInputStream is preferred choice。DataInputStream is offen used for getting primitives。
5,Old IO 不多说了。New IO应该说会比较常用,NIO 主要包括两个东东,非常重要,一个是channel,一个是ByteBuffer。将文件或者其它输入流都转化去Channel,对于文件用FileInputStream().getChannel(),或者FileOutputStream().getChannel(),或者RandomAccessFile().getChannel(),对于Socket 也可以用对应的方法处理成Channel。ByteBuffer主要面向bytes,主要方法是allocate()分配空间,filp()裁剪将capacity设置到limit,clear()重置,array(),hasRemaining()检查position和limit之间是否还有elements等。将channel的内容读入buffer用fc.read(buffer),将buffer写入channel用fc.write(buffer).
6,对于ByteBuffer有个static方法wrap,可以用于将某string.getBytes(),处理成byte[]。ByteBffer还是low-level的,可以用CharBffer,IntBuffer,DoubleBuffer等来抓化为易于处理的。这几个子类正常constructor时,都是Heap型的,都可以用array()方法,要是ByteBuffer使用asCharBuffer(),asIntBuffer,等转化来的,就不能用array()了。Heap型的,不会按照对应类型划分区域,每次使用时,按对应类型增加pos。而ByteBufferAs型的,就会按照对应的类型,将size划分成等大小的,每次pos+1。
7,对于CharBuffer等的,就可以用put(),get()等显示的写入或读取数据。
8,char、short 2bytes;int float 4bytes;double long 8bytes。
相关文档:
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
通过java jna 调用datastage c api 例子如下,这是运行作业的例子
经测试是可行的。
import com.sun.jna.Library;
import com.sun.jna.Structure;
import com.sun.jna.Union;
import com.sun.jna.Native;
/** Simple example of native library declaration and usage. */
public class dsjobc {
public static cl ......
Java中对文件的操作
java中提供了io类库,可以轻松的用java实现对文件的各种操作。下面就来说一下如何用java来实现这些操作。
1。新建目录
<%@
page contentType="text/html;charset=gb2312"%>
<%
String
filePath="c:/aaa/";
filePath=filePath.toString();//中文转换
java.io.File
myFilePath=new ......
前言:
工作中经常会接触java,虽然在学校时有C、C++的基础,对简单的java代码还是能应付过去,但是由于缺乏对java深入的学习和理解,在实际使用时仍有无从下手的感觉。前段时间在师兄的推荐下买了java经典教程《Core Java》进行学习,外国人的书写的就是不一样,语言简炼,并附有详细的代 ......
通常的观念认为,事务仅与数据库相关。
事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示当事务执行失败时,所有被该事务影响的 ......