日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

binaryviewer java_用java实现java的2进制文件字节序转换到C/C++的2进制文件字节序

發布時間:2024/9/27 c/c++ 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 binaryviewer java_用java实现java的2进制文件字节序转换到C/C++的2进制文件字节序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

展開全部

package admit.action;/*用JAVA讀取各種計算機文件系統的文件列表 當你安裝了jdk,在32313133353236313431303231363533e78988e69d8331333332613732jdk的類庫里,有一個標準的File類,通過該類,可以很方便的實現瀏覽各種文件系統的功能。

File類:

java.lang.Object

|

+--java.io.File

File類擴展了Object對象,實現了Serializable, Comparable定義的接口,可以通過File的一個實例對jvm上的文件系統進行各種操作,下面我編寫了一個FileViewer類,該類通過Iterator類將一個文件列表實現對列表的迭代操作

FileViewer.java */import java.io.File;

import java.util.ArrayList;

import java.util.Date;

import java.util.Iterator;

import java.util.Vector;public class ReadPath {

File myDir; File[] contents; Vector vectorList; Iterator currentFileView; File currentFile; String path; public ReadPath() {

path = new String("");

vectorList = new Vector();

} public ReadPath(String path) {

this.path = path;

vectorList = new Vector();

} /**

* 設置瀏覽的路徑

*/

public void setPath(String path) {

this.path = path;

} /***************************************************************************

* 返回當前目錄路徑

*/

public String getDirectory() {

return myDir.getPath();

} /**

* 刷新列表

*/

public void refreshList() { if (this.path.equals(""))

path = "c:\\";

myDir = new File(path); vectorList.clear();

contents = myDir.listFiles();

// 重新裝入路徑下文件

for (int i = 0; i < contents.length; i++) {

vectorList.add(contents[i]);

}

currentFileView = vectorList.iterator();

} /**

* 移動當前文件集合的指針指到下一個條目

*

* @return 成功返回true,否則false

*/

public boolean nextFile() {

while (currentFileView.hasNext()) {

currentFile = (File) currentFileView.next();

return true;

}

return false;

} /**

* 返回當前指向的文件對象的文件名稱

*/

public String getFileName() {

return currentFile.getName();

} /**

* 返回當前指向的文件對象的文件尺寸

*/

public String getFileSize() {

return new Long(currentFile.length()).toString();

} /**

* 返回當前指向的文件對象的最后修改日期

*/

public String getFileTimeStamp() {

return new Date(currentFile.lastModified()).toString();

} /**

* 返回當前指向的文件對象是否是一個文件目錄

*/

public boolean getFileType() {

return currentFile.isDirectory();

} /*

* 通過setPath()方法設定要瀏覽的目錄(注意如果操作系統為微軟操作系統,每個路徑分隔符應寫成兩個斜杠\),nextFile()方法用來移動列表記錄,可以通過getFileName()得到文件或文件夾名稱,通過getFileSize()得到文件尺寸,通過getFileTimeStamp()得到文件的最后修改時間,通過getFileType()判斷是否是一個文件目錄。

* 編寫一個test例子測試這個FileViewer類

*/ public ArrayList okpath(){

ReadPath f = new ReadPath();

f.setPath("c:\\aaa\\");

f.refreshList();

ArrayList list = new ArrayList();

while (f.nextFile()) {

list.add(f.path+f.getFileName());

}

return list;

}

/* public static void main(String[] args) {

ReadPath f = new ReadPath();

ArrayList list1 = f.okpath();

for(int j=0;j

System.out.println(list1.get(j));

}

}*/ }

package admit.action;

import java.sql.*;

import java.util.ArrayList;

import java.io.*;

import oracle.sql.*;

public class WriteBlob { public static void main(String[] args) {

try {

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.100:1521:adminsys","admit","wuyue");

conn.setAutoCommit(false);

ReadPath readPath=new ReadPath();

ArrayList list = readPath.okpath();

/* String ff[]=new String[2];

String fileName = "c://tupian.gif"; */

for(int i=0;i

System.out.println("路徑名="+list.get(i).toString());

File f = new File(list.get(i).toString());

FileInputStream fin = new FileInputStream(f);

BLOB blob = null; PreparedStatement pstmt = conn.prepareStatement("insert into javatest(name,context) values(?,empty_blob())");

pstmt.setString(1,""+list.get(i).toString()+"");

pstmt.executeUpdate();

pstmt.close(); pstmt = conn.prepareStatement("select context from javatest where name= ? for update");

pstmt.setString(1,""+list.get(i).toString()+"");

ResultSet rset = pstmt.executeQuery();

if (rset.next()) blob = (BLOB) rset.getBlob(1); pstmt = conn.prepareStatement("update javatest set context=? where name=?"); OutputStream out = blob.getBinaryOutputStream(); int count = -1, total = 0;

byte[] data = new byte[(int)fin.available()];

fin.read(data);

out.write(data);

/*

byte[] data = new byte[blob.getBufferSize()]; 另一種實現方法,節省內存

while ((count = fin.read(data)) != -1) {

total += count;

out.write(data, 0, count);

}

*/

fin.close();

out.close(); pstmt.setBlob(1,blob);

pstmt.setString(2,""+list.get(i).toString()+"");

pstmt.executeUpdate();

pstmt.close();

System.out.println("插入成功!!!");

}

conn.commit();

conn.close();

} catch (SQLException e) {

System.err.println(e.getMessage());

e.printStackTrace();

} catch (IOException e) {

System.err.println(e.getMessage());

}

}

}

已贊過

已踩過<

你對這個回答的評價是?

評論

收起

總結

以上是生活随笔為你收集整理的binaryviewer java_用java实现java的2进制文件字节序转换到C/C++的2进制文件字节序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。