「java文件夹目录结构」java 文件目录
本篇文章给大家谈谈java文件夹目录结构,以及java 文件目录对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
包与存储Java源文件的目录结构的关系是什么
是不同的概念,包的概念存在于java的程序结构中,如果一个类没有指定具体的约束类型(比如public,private,protected),那么该类的约束就是包约束,就是说和该类同级目录的其他类都可以访问该类,但是该类目录的父目录和子目录都没有权限访问该类。
在java中包的创建可以靠目录结构来指定吗
在java中包的创建不可以靠目录结构来指定。在java中包的创建只能创建一级目录。创建多级目录,不能同时创建文件,创建文件,不能同时创建文件夹。
java怎样把一个现有文件夹的结构创建成一个JTree
package tmp;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeNode;
import javax.swing.Icon;
import javax.swing.JSplitPane;
import javax.swing.JTree;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.util.Arrays;
public class TestJTree extends JFrame {
private JPanel contentPane;
private Picture pic=null;
private String rootPath=TestJTree.class.getResource("/").getPath();
private JTree tree;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestJTree frame = new TestJTree();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public TestJTree() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
JSplitPane splitPane = new JSplitPane();
splitPane.setDividerLocation(120);
contentPane.add(splitPane, BorderLayout.CENTER);
MyTreeNode AA = new MyTreeNode(new File(rootPath+"AA"));
tree = new JTree(AA);
tree.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (SwingUtilities.isLeftMouseButton(e) e.getClickCount() == 1) {
MyTreeNode node = (MyTreeNode) tree.getLastSelectedPathComponent();
FileNode fn=(FileNode) node.getUserObject();
File f=fn.getFile();
if(!f.isDirectory()){
pic.loadPic(f.getAbsolutePath());
}
}
}
});
splitPane.setLeftComponent(tree);
pic=new Picture();
splitPane.setRightComponent(pic);
}
}
class MyTreeNode extends DefaultMutableTreeNode{
MyTreeNode(File file){
super(new FileNode(file));
FileNode fn=(FileNode)this.userObject;
File f=fn.getFile();
if(f.isDirectory()){
File[] fs=f.listFiles();
for(File ff:fs){
this.add(new MyTreeNode(ff));
}
}
}
}
class FileNode{
private String name;
private File file;
public FileNode(File file){
this.file=file;
name=file.getName();
}
public String toString(){
return name;
}
public String getName() {
return name;
}
public File getFile() {
return file;
}
}
class Picture extends JPanel {
private String picName;
public Picture(String picName){
this.picName=picName;
}
public Picture() {
}
public void paint (Graphics g) {
g.clearRect(0, 0, this.getWidth(), this.getWidth());
if(this.picName!=null){
Image image = this.getToolkit().getImage(picName);
g.drawImage(image, 0, 0, this);
}
}
public void loadPic(String picName){
this.picName=picName;
repaint();
}
}
//界面编程经验不多,代码可能有诸多不当之处,见谅
java 列出目录结构
public class DirectoryPrinter {
private static ListString list = new ArrayListString();
private static int floor = 0;
public static void printDirectory(File root) {
if (root.isFile()) {
System.out.println(getPreString(floor, root) + root.getName());
} else {
System.out.println(getPreString(floor, root) + root.getName());
floor++;
File[] files = root.listFiles();
setLast(files);
for (File file : files) {
printDirectory(file);
}
floor--;
}
}
private static String getPreString(int floor, File file) {
if (floor == 0)
return "";
String preString = "ㄴ";
for (int i = 1; i floor; i++) {
file = file.getParentFile();
if (list.contains((file.getAbsolutePath() + file.getName())))
preString = " " + preString;
else
preString = "|" + preString;
}
return preString;
}
private static void setLast(File[] files) {
if (files.length != 0) {
int last = 0;
for (int i = 0; i files.length; i++) {
if (files[i].isDirectory())
last = i;
}
list.add(files[last].getAbsolutePath() + files[last].getName());
}
}
public static void main(String[] args) {
DirectoryPrinter.printDirectory(new File("D://workspace//JavaTest"));
}
}
关于java文件夹目录结构和java 文件目录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。