⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filetablecontentprovider.java

📁 Eclipse编程技术与实例一书的附CD-ROM光盘
💻 JAVA
字号:
package org.Chapter13;

import java.io.*;
import org.eclipse.jface.viewers.*;

/**
 * 显示被选中节点的内容,如果是文件就显示里面的内容 如果是文件夹就显示里面的文件和文件夹的名字;
 */
public class FileTableContentProvider implements IStructuredContentProvider {

	/**
	 * 获取element的子元素。 如果该元素是文件,就输出文件内容。 如果是文件夹,就列出文件夹内的文件。
	 */
	public Object[] getElements(Object element) {
		Object[] kids = null;
		kids = ((File) element).listFiles();
		String[] str = new String[1];
		str[0] = reader(element);
		return kids == null ? str : kids;
	}

	public void dispose() {
	}

	public void inputChanged(Viewer viewer, Object old_object, Object new_object) {
	}

	/**
	 * 读取文件的内容,并保存在String中。
	 */
	private String reader(Object element) {
		File file = (File) element;
		StringBuffer content = new StringBuffer();
		int temp;
		
		try{
			BufferedReader read = new BufferedReader(new FileReader(file));
			while((temp = read.read()) != -1)
			{
				content = content.append((char)temp);
			}
		}catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		return content.toString();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -