導航:首頁 > 編程語言 > java文件頭文件類型files

java文件頭文件類型files

發布時間:2024-06-24 12:10:14

java 傳輸 獲取文件類型

獲取文件類型,一般的是列出目前所有的文件類型,根據表頭進行相應判斷,示例如下:

/**
*件頭是位於文件開頭的一段承擔一定任務的數據,一般都在開頭的部分。
*頭文件作為一種包含功能函數、數據介面聲明的載體文件,用於保存程序的聲明(declaration),而定義文件用於保存程序的實現(implementation)。
*為了解決在用戶上傳文件的時候在伺服器端判斷文件類型的問題,故用獲取文件頭的方式,直接讀取文件的前幾個位元組,來判斷上傳文件是否符合格式。具體代碼如下:
*Java代碼:
*
*/
packagecom.yonyou.sud.file;
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.HashMap;
/**
*獲取和判斷文件頭信息
*
*@authorSud
*
*/
publicclassGetTypeByHead{
//緩存文件頭信息-文件頭信息
publicstaticfinalHashMap<String,String>mFileTypes=newHashMap<String,String>();
static{
//images
mFileTypes.put("FFD8FF","jpg");
mFileTypes.put("89504E47","png");
mFileTypes.put("47494638","gif");
mFileTypes.put("49492A00","tif");
mFileTypes.put("424D","bmp");
//
mFileTypes.put("41433130","dwg");//CAD
mFileTypes.put("38425053","psd");
mFileTypes.put("7B5C727466","rtf");//日記本
mFileTypes.put("3C3F786D6C","xml");
mFileTypes.put("68746D6C3E","html");
mFileTypes.put("44656C69766572792D646174653A","eml");//郵件
mFileTypes.put("D0CF11E0","doc");
mFileTypes.put("5374616E64617264204A","mdb");
mFileTypes.put("252150532D41646F6265","ps");
mFileTypes.put("255044462D312E","pdf");
mFileTypes.put("504B0304","docx");
mFileTypes.put("7221","rar");
mFileTypes.put("57415645","wav");
mFileTypes.put("41564920","avi");
mFileTypes.put("2E524D46","rm");
mFileTypes.put("000001BA","mpg");
mFileTypes.put("000001B3","mpg");
mFileTypes.put("6D6F6F76","mov");
mFileTypes.put("3026B2758E66CF11","asf");
mFileTypes.put("4D546864","mid");
mFileTypes.put("1F8B08","gz");
}
/**
*根據文件路徑獲取文件頭信息
*
*@paramfilePath
*文件路徑
*@return文件頭信息
*/
publicstaticStringgetFileType(StringfilePath){
System.out.println(getFileHeader(filePath));
System.out.println(mFileTypes.get(getFileHeader(filePath)));
returnmFileTypes.get(getFileHeader(filePath));
}
/**
*根據文件路徑獲取文件頭信息
*
*@paramfilePath
*文件路徑
*@return文件頭信息
*/
(StringfilePath){
FileInputStreamis=null;
Stringvalue=null;
try{
is=newFileInputStream(filePath);
byte[]b=newbyte[4];
/*intread()從此輸入流中讀取一個數據位元組。
*intread(byte[]b)從此輸入流中將最多b.length個位元組的數據讀入一個byte數組中。
*intread(byte[]b,intoff,intlen)從此輸入流中將最多len個位元組的數據讀入一個byte數組中。
*/
is.read(b,0,b.length);
value=bytesToHexString(b);
}catch(Exceptione){
}finally{
if(null!=is){
try{
is.close();
}catch(IOExceptione){
}
}
}
returnvalue;
}
/**
*將要讀取文件頭信息的文件的byte數組轉換成string類型表示
*
*@paramsrc
*要讀取文件頭信息的文件的byte數組
*@return文件頭信息
*/
(byte[]src){
StringBuilderbuilder=newStringBuilder();
if(src==null||src.length<=0){
returnnull;
}
Stringhv;
for(inti=0;i<src.length;i++){
//以十六進制(基數16)無符號整數形式返回一個整數參數的字元串表示形式,並轉換為大寫
hv=Integer.toHexString(src[i]&0xFF).toUpperCase();
if(hv.length()<2){
builder.append(0);
}
builder.append(hv);
}
System.out.println(builder.toString());
returnbuilder.toString();
}
publicstaticvoidmain(String[]args)throwsException{
finalStringfileType=getFileType("E:/Java編程思想讀書筆記.docx");
System.out.println(fileType);
}
}

Ⅱ Java的File類有沒有修改文件屬性和判斷後綴名的方法~~~

只能實現FileFilter介面的accept方法把不需要的文件過濾掉,你無法在java中把隱藏文件變成不隱藏的,但是據說可以把不隱藏的弄成隱藏的,這個我試過,沒有成功.
最主要的原因是修改文件屬性都是通過java.security包下的類去和系統內部打交道,他對外一般不暴露這樣的方法的.我估計lz是做什麼東西需要寫配置文件吧,不想讓用戶看到配置文件,給你個建議,把配置文件寫到頭文件里去

Ⅲ 在JAVA中如何得到一個文件,文件夾的創建時間

能不能換個思路~~~汗啊~!好像用java的函數只能取得lastModified()有一個比較笨的方法
Process p=Runtime.getRuntime().exec("dir startup.bat /t -c");
然後取得p的輸出信息就可以得到創建時間了!上面的例子我是得到tomcat的startup.bat這個文件的創建時間,如果你想得到其它文件的創建時間就可以將startup.bat換成其它文件名!study and mark ^_^如果用dir, 取得創建時間的參數是/TC路過學習ing幫您頂java是用native來獲取操作系統的支持,從而對文件進行操作。
具體實現類是
java.io.FileSystem
這個類是私有的只能在jdk內部使用,由於這個類沒有提供文件時間創建的介面,你也就沒有辦法用純java來獲得這一個功能(但願不是這樣)。
有一個簡單的方法是自己調用系統函數,或者乾脆調用各C函數
先寫各本地類訪問方法
class MyFileSystem{
public native void getCreatFileTime(File f);static {System.loadLibrary(" ");}
public static void main(String[] args) {
new HelloWorld().getCreatFileTime();}}編譯本文件然後執行 javah,便會自動產生頭文件 MyFileSystem.h
函數的具體實現如下:
#include
#include "MyFileSystem.h"
#include
JNIEXPORT double JNICALL
Java_MyFileSystem_displayHelloWorld(JNIEnv *env, jobject obj){//在這里調用C函數
double time=getFileCreatTime_IN_C(obj)
return time;}高手如雲,我心忐忑
奮發圖強~高手如雲,我心忐忑奮發圖強~me too,高手如雲,我心忐忑奮發圖強~me too,too還有可以復制java.io.FileSystem及相關類的源代碼,把所有東西成public的,這樣總可以用了吧,
當然把類名也改掉。。。。。頂!
Study!Up!!!頂一下!
支持upFile f = new File("d:\\a.txt");
Date date = new Date();
long L = date.getTime();
f.setLastModified(L);
以上個函數可以設置文件的最後修改時間,以及設置文件為「只讀」屬性頂!!!

Ⅳ C語言頭文件和 Java的的包是什麼,有什麼用

1、c語言的頭文件定義了許多函數和許多設定,不如int ,char,double,float等,還有許多函數,比如math()等,引入頭文件就可以直接調用頭文件已經定義好的函數。

2、java的包和C的頭文件相似,但是java的包定義了許多類,我們可以直接調用java的類就不用自己定義了。

引入頭文件的包可以節省開發時間和提高效率。如果頭文件和包沒有則我們需要自己定義或者自己寫一個類。

Ⅳ 編寫java代碼來實現每種文件的文件頭長啥樣

真心沒看明白,是指用java代碼讀文件頭?每種文件的文件頭是不一樣的,譬如文本文件一般沒文件頭,而象doc文件、xls文件、exe文件、dll文件等都有自己的文件格式,也就有自己的文件頭。
java讀文件有2種方式,一種叫輸入流,另一種就是隨機訪問,你這個用流就可以了。
InputStream in = new BufferedInputStream(new FileInputStream(文件名));
byte[] buf = new byte[4096];
int len = 0;
while( (len=in.read(buf)>=0 ) {
處理數據
}
in.close();

Ⅵ java的頭文件大概是什麼意思 public static void main(String[] args) 來個人解釋一下

public static void main(String[] args)
public表示該方法是共有的,static表名方法是靜態的,

main是java程序的入口,程序從main方法開始運行,String【】 args 是在java運行的過程中可以從命令行傳入的參數:
cmd中javac hello.java
java hello xx yy cc
其中xx yy cc就是程序運行的時候傳入的參數:args【0】,args【1】,args【3】。

Ⅶ Java編程的特點是什麼呢

Java編程的特點是什麼呢?

Java由美國SUN公司(被oracle公司收購)發明於年,是目前業界應用最廣泛、使用人數最多的語言,連續多年排名世界第一,可以稱之為「計算機語言界的英語」。

那麼Java這么高的評價它的特點有哪些,下面我來為題主解答:

一、跨平台/可移植性

這是Java的核心優勢。Java在設計時就很注重移植和跨平台性。比如:Java的int永遠都是32位。不像C++可能是16,32,可能是根據編譯器廠商規定的變化。這樣的話程序的移植就會非常麻煩。

Java首先利用文本編輯器編寫 Java源程序,源文件的後綴名為.java;再利用編譯器(javac)將源程序編譯成位元組碼文件,位元組碼文件的後綴名為.class; 最後利用虛擬機(解釋器,java)解釋執行。如下圖所示:

二、安全性

Java適合於網路/分布式環境,為了達到這個目標,在安全性方面投入了很大的精力,使Java可以很容易構建防病毒,防篡改的系統。比如Java取消了強大但又危險的指針。由於指針可進行移動運算,指針可隨便指向一個內存區域,而不管這個區域是否可用,這樣做是危險的。

三、面向對象

面向對象是一種程序設計技術,非常適合大型軟體的設計和開發。由於C++為了照顧大量C語言使用者而兼容了C,使得自身僅僅成為了帶類的C語言,多少影響了其面向對象的徹底性!Java則是完全的面向對象語言。

四、簡單性

Java就是C++語法的簡化版,我們也可以將Java稱之為「C++-」。跟我念「C加加減」,指的就是將C++的一些內容去掉;比如:頭文件,指針運算,結構,聯合,操作符重載,虛基類等等。同時,由於語法基於C語言,因此學習起來完全不費力。

五、高性能

Java最初發展階段,總是被人詬病「性能低」;客觀上,高級語言運行效率總是低於低級語言的,這個無法避免。Java語言本身發展中通過虛擬機的優化提升了幾十倍運行效率。比如,通過JIT(JUST IN TIME)即時編譯技術提高運行效率。 將一些「熱點」位元組碼編譯成本地機器碼,並將結果緩存起來,在需要的時候重新調用。這樣的話,使Java程序的執行效率大大提高,某些代碼甚至接近C++的效率。

因此,Java低性能的短腿,已經被完全解決了。業界發展上,我們也看到很多C++應用轉到Java開發,很多C++程序員轉型為Java程序員。

六、分布式

Java是為Internet的分布式環境設計的,因為它能夠處理TCP/IP協議。事實上,通過URL訪問一個網路資源和訪問本地文件是一樣簡單的。Java還支持遠程方法調用(RMI,Remote Method Invocation),使程序能夠通過網路調用方法。

七、多線程

多線程的使用可以帶來更好的交互響應和實時行為。 Java多線程的簡單性是Java成為主流伺服器端開發語言的主要原因之一。

八、健壯性

Java是一種健壯的語言,吸收了C/C++ 語言的優點,但去掉了其影響程序健壯性的部分(如:指針、內存的申請與釋放等)。Java程序不可能造成計算機崩潰。即使Java程序也可能有錯誤。如果出現某種出乎意料之事,程序也不會崩潰,而是把該異常拋出,再通過異常處理機制加以處理。

以上幾種特性你了解到啦嗎? 記得給個贊!

Ⅷ .h格式的是什麼文件

*.H 是C語言或JAVA類、復函數的頭文件(制Head)。

在C語言家族程序中,頭文件被大量使用。一般而言,每個C++/C程序通常由頭文件(header files)和定義文件(definition files)組成。頭文件作為一種包含功能函數、數據介面聲明的載體文件,主要用於保存程序的聲明(declaration),而定義文件用於保存程序的實現 (implementation)。 .c就是你寫的程序文件。

Ⅸ java如何判斷一個文件夾是否存在

1、首先在電腦端新建一個java項目,如圖,命名為javaFileTest名稱。

閱讀全文

與java文件頭文件類型files相關的資料

熱點內容
為什麼要有多種編程語言 瀏覽:714
學編程哪個好用嗎 瀏覽:396
電腦文件恢復得多少錢 瀏覽:178
數控g71編程p1q2什麼意思 瀏覽:205
資料庫的事務性能優化 瀏覽:920
軟體和編程哪個容易學 瀏覽:744
怎麼看wifi是什麼網路 瀏覽:145
網站body怎麼設置 瀏覽:209
玉石原石在哪個app可以賣 瀏覽:406
如何修改樂視賬號密碼忘了怎麼辦 瀏覽:83
w10分區工具 瀏覽:654
電腦里發現別人的文件夾還打不開 瀏覽:279
win7升級win10後藍屏重啟後黑屏了 瀏覽:760
文件名後綴改了沒用 瀏覽:278
中國為什麼人少編程的人多 瀏覽:4
蘋果電腦桌面文件夾太多了怎麼辦 瀏覽:180
搜狐視頻文件多大 瀏覽:816
qq文件存在手機哪裡 瀏覽:675
電信網路上的微信號怎麼查 瀏覽:490
涿州少兒編程哪裡有 瀏覽:736

友情鏈接