❶ java怎樣獲取當前目錄路徑
很多朋友都想知道java如何獲取當前目錄路徑?下面就一起來了解一下吧~
1、利用System.getProperty()函數獲取當前路徑:
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑
2、使用File提供的函數獲取當前路徑:
File directory = new File("");//設定為當前文件夾 try{ System.out.println(directory.getCanonicalPath());//獲取標準的路徑 System.out.println(directory.getAbsolutePath());//獲取絕對路徑 }catch(Exceptin e){} File.getCanonicalPath()和File.getAbsolutePath()大約只是對於new File(".")和new File("..")兩種路徑有所區別。 # 對於getCanonicalPath()函數,「."就表示當前的文件夾,而」..「則表示當前文件夾的上一級文件夾 # 對於getAbsolutePath()函數,則不管」.」、「..」,返回當前的路徑加上你在new File()時設定的路徑 # 至於getPath()函數,得到的只是你在new File()時設定的路徑 比如當前的路徑為 C:/test : File directory = new File("abc"); directory.getCanonicalPath(); //得到的是C:/test/abc directory.getAbsolutePath(); //得到的是C:/test/abc direcotry.getPath(); //得到的是abc File directory = new File("."); directory.getCanonicalPath(); //得到的是C:/test directory.getAbsolutePath(); //得到的是C:/test/. direcotry.getPath(); //得到的是. File directory = new File(".."); directory.getCanonicalPath(); //得到的是C:/ directory.getAbsolutePath(); //得到的是C:/test/.. direcotry.getPath(); //得到的是.. 另外:System.getProperty()中的字元串參數如下: System.getProperty()參數大全 # java.version Java Runtime Environment version # java.vendor Java Runtime Environment vendor # java.vendor.url Java vendor URL # java.home Java installation directory # java.vm.specification.version Java Virtual Machine specification version # java.vm.specification.vendor Java Virtual Machine specification vendor # java.vm.specification.name Java Virtual Machine specification name # java.vm.version Java Virtual Machine implementation version # java.vm.vendor Java Virtual Machine implementation vendor # java.vm.name Java Virtual Machine implementation name # java.specification.version Java Runtime Environment specification version # java.specification.vendor Java Runtime Environment specification vendor # java.specification.name Java Runtime Environment specification name # java.class.version Java class format version number # java.class.path Java class path # java.library.path List of paths to search when loading libraries # java.io.tmpdir Default temp file path # java.compiler Name of JIT compiler to use # java.ext.dirs Path of extension directory or directories # os.name Operating system name # os.arch Operating system architecture # os.version Operating system version # file.separator File separator ("/" on UNIX) # path.separator Path separator (":" on UNIX) # line.separator Line separator ("/n" on UNIX) # user.name User』s account name # user.home User』s home directory # user.dir User』s current working directory
JAVA中獲取路徑 關鍵字: java中獲取路徑
1、jsp中取得路徑:
以工程名為TEST為例:
(1)得到包含工程名的當前頁面全路徑:request.getRequestURI() 結果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 結果:/TEST (3)得到當前頁面所在目錄下全名稱:request.getServletPath() 結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp (4)得到頁面所在伺服器的全路徑:application.getRealPath("頁面.jsp") 結果:D:/resin/webapps/TEST/test.jsp (5)得到頁面所在伺服器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 結果:D:/resin/webapps/TEST
2、在類中取得路徑: (1)類的絕對路徑:Class.class.getClass().getResource("/").getPath() 結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路徑:System.getProperty("user.dir") 結果:D:/TEST
❷ java如何獲取文件信息
File 類是對文件和文件夾的抽象,包含了對文件和文件夾的多種屬性和操作方法。File類的常用方法如下表:
返回
方法
說明
String getName 獲取文件名稱
String getParent 獲取文件的父路徑字元串
String getPath 獲取文件的相對路徑字元串
String getAbsolutePath 獲取文件的絕對路徑字元串
boolean exists 判斷文件或者文件夾是否存在
boolean isFile 判斷是不是文件類型
boolean isDirectory 判斷是不是文件夾類型
boolean delete 刪除文件或文件夾,如果刪除成功返回結果為true
boolean mkdir 創建文件夾,創建成功返回true
boolean setReadOnly 設置文件或文件夾的只讀屬性
long length 獲取文件的長度
long lastModified 獲取文件的最後修改時間
String[ ] list 獲取文件夾中的文件和子文件夾的名稱,並存放到字元串數組中
❸ java怎麼去除路徑最後文件名,獲取文件夾路徑
importjava.io.File;
publicclassFileDemo{
publicstaticvoidmain(String[]args){
Filefile=newFile("C:\Users\lenovo\Desktop\user.png");
System.out.println(file.getAbsolutePath());
StringBuildersb=newStringBuilder();
Filetemp=file;
while(temp.getParentFile()!=null&&temp.getParentFile().getName().length()!=0){
sb.insert(0,"/"+temp.getParentFile().getName());
temp=temp.getParentFile();
}
sb.append("/");
System.out.println(sb);
}
}
輸出
C:UserslenovoDesktopuser.png
/Users/lenovo/Desktop/
file.getParent()表示取得父路徑
如果不用File.separator 還可以先判斷操作系統,然後進行字元串操作
Propertiesprops=System.getProperties();//獲得系統屬性集
StringosName=props.getProperty("os.name");//操作系統名稱
if(osName.toLowerCase().contains("windows")){
//windows的字元串操作
}elseif(.......){
//其他操作系統的字元串操作
}
❹ java怎麼獲取一個目錄下的所有文件名
獲取一個目錄下的所有文件和目錄方法:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*將目標目錄封裝成File對象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac應用程序");
/**
*獲取目錄下的所有文件和文件夾
*/
String[]names=dir.list();
for(Stringname:names){
System.out.println(name);
}
}
}
通過文件過濾器獲取某個目錄下的文件,例如所有的 .txt、.doc文件。
過濾器:
importjava.io.File;
importjava.io.FilenameFilter;
{
@Override
publicbooleanaccept(Filedir,Stringname){
returnname.endsWith(".doc");
}
}
獲取某個目錄下的按照過濾器規則的所有文件:
importjava.io.File;
publicclassFileTest{
publicstaticvoidmain(String[]args){
/**
*將目標目錄封裝成File對象。
*/
Filedir=newFile("/Users/zym/Desktop/Mac應用程序");
/**
*通過過濾器獲取目錄下的所有的.doc文件
*/
String[]names=dir.list(newFilterByDoc());
for(Stringname:names){
System.out.println(name);
}
}
}
希望能對您有所幫助!
❺ java 循環讀取文件夾裡面的文件
JAVA 遍歷文件夾下的所有文件(遞歸調用和非遞歸調用)
1.不使用遞歸的方法調用。
public void traverseFolder1(String path) {
fileNum = 0, folderNum = 0;
File file = new File(path);
if (file.exists()) {
LinkedList<File> list = new LinkedList<File>();
File[] files = file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夾:" + file2.getAbsolutePath());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
File temp_file;
while (!list.isEmpty()) {
temp_file = list.removeFirst();
files = temp_file.listFiles();
for (File file2 : files) {
if (file2.isDirectory()) {
System.out.println("文件夾:" + file2.getAbsolutePath());
list.add(file2);
fileNum++;
} else {
System.out.println("文件:" + file2.getAbsolutePath());
folderNum++;
}
}
}
} else {
System.out.println("文件不存在!");
}
System.out.println("文件夾共有:" + folderNum + ",文件共有:" + fileNum);
}
2.使用遞歸的方法調用
public static List<File> getFileList(String strPath) {
File dir = new File(strPath);
File[] files = dir.listFiles(); // 該文件目錄下文件全部放入數組
if (files != null) {
for (int i = 0; i < files.length; i++) {
String fileName = files[i].getName();
if (files[i].isDirectory()) { // 判斷是文件還是文件夾
getFileList(files[i].getAbsolutePath()); // 獲取文件絕對路徑
} else if (fileName.endsWith("avi")) { // 判斷文件名是否以.avi結尾
String strFileName = files[i].getAbsolutePath();
System.out.println("---" + strFileName);
filelist.add(files[i]);
} else {
continue;
}
}
}
return filelist;
}
❻ java怎麼查詢指定路徑下所有文件夾
Java程序中讀取某個目錄下的所有文件(下面以D盤下的文件夾為例),代碼如下:
import java.io.File;
public class Test1 {
public static void main(String[] args) {
String path="D://";
File file=new File(path);
File[] tempList = file.listFiles();
System.out.println("該目錄下對象個數:"+tempList.length);
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//讀取某個文件夾下的所有文件
System.out.println("文件:"+tempList[i]);
}
if (tempList[i].isDirectory()) {
//讀取某個文件夾下的所有文件夾
System.out.println("文件夾:"+tempList[i]);
}
}
}
}
❼ java實現動態讀取文件夾文件信息
java動態讀取某個文件夾下的所有文件信息,代碼如下:
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.File;
publicclassReadFile{
publicReadFile(){
}
/**
*動態讀取某個文件夾下的所有文件信息
*/
publicstaticbooleanreadfile(Stringfilepath)throwsFileNotFoundException,IOException{
try{
Filefile=newFile(filepath);
if(!file.isDirectory()){
System.out.println("文件");
System.out.println("path="+file.getPath());
System.out.println("absolutepath="+file.getAbsolutePath());
System.out.println("name="+file.getName());
}elseif(file.isDirectory()){
System.out.println("文件夾");
String[]filelist=file.list();
for(inti=0;i<filelist.length;i++){
Filereadfile=newFile(filepath+"\"+filelist[i]);
if(!readfile.isDirectory()){
System.out.println("path="+readfile.getPath());
System.out.println("absolutepath="
+readfile.getAbsolutePath());
System.out.println("name="+readfile.getName());
}elseif(readfile.isDirectory()){
readfile(filepath+"\"+filelist[i]);
}
}
}
}catch(FileNotFoundExceptione){
System.out.println("readfile()Exception:"+e.getMessage());
}
returntrue;
}
publicstaticvoidmain(String[]args){
try{
readfile("e:/videos");
//deletefile("D:/file");
}catch(FileNotFoundExceptionex){
}catch(IOExceptionex){
}
System.out.println("ok");
}
}
❽ java獲取某個文件夾的路徑怎麼寫
File類有兩個常用方法可以得到文件路徑一個是:getCanonicalPath(),另一個是:getAbsolutePath(),可以通過File類的實例調用這兩個方法例如file.getAbsolutePath()其中file是File的實例對象。下面是一個具體例子:
public class PathTest
{
public static void main(String[] args)
{
File file = new File(".\\src\\");
System.out.println(file.getAbsolutePath());
try
{
System.out.println(file.getCanonicalPath());
} catch (IOException e)
{
e.printStackTrace();
}
}
}
getAbsolutePath()和getCanonicalPath()的不同之處在於,getCanonicalPath()得到的是一個規范的路徑,而getAbsolutePath()是用構造File對象的路徑+當前工作目錄。例如在上面的例子中.(點號)代表當前目錄。getCanonicalPath()就會把它解析為當前目錄但是getAbsolutePath()會把它解析成為目錄名字(目錄名字是點號)。
下面是上面程序在我電腦上的輸出:
G:\xhuoj\konw\.\src\
G:\xhuoj\konw\src\
❾ Java中怎樣通過界面操作讀取任何一個文件夾里的文件
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
public class GUIDemo1 extends JFrame{
private static final String TARGET_FILE = "F:\\a.txt";
private JButton saveButton;
private JButton loadButton;
private TextArea textArea;
private Container container;
private File targetFile;
public GUIDemo1() throws IOException {
super("File Demo");
setLayout(new FlowLayout());
container = getContentPane();
targetFile = new File(TARGET_FILE);
if(targetFile.createNewFile()) {
System.out.println("文件不存在,創建成功");
}else {
System.out.println("文件存在");
}
textArea = new TextArea();
saveButton = new JButton("save");
loadButton = new JButton("load");
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
FileWriter writer = new FileWriter(targetFile);
String result = textArea.getText();
writer.write(result);
writer.close();
textArea.setText("");
System.out.println("存檔成功");
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
loadButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
FileReader reader = new FileReader(targetFile);
char[] buffer = new char[1024];
StringBuffer result = new StringBuffer();
int len;
while((len = reader.read(buffer)) != -1) {
result.append(buffer,0,len);
}
reader.close();
textArea.setText(result.toString());
System.out.println("讀檔成功");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
container.add(textArea);
container.add(loadButton);
container.add(saveButton);
setSize(500, 300);
setVisible(true);
}
public static void main(String[] args) throws IOException {
GUIDemo1 demo = new GUIDemo1();
demo.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
❿ java 根據文件獲取文件名及路徑的方法
通過File類獲取文件,然後通過以下兩種方法獲取絕對路徑和名稱。返回類型為String
獲取絕對路徑:file.getAbsolutePath()
獲取名稱: file.getName()