在这篇文章中,我们将带领您了解Java文件的全貌,包括java文件后缀的相关情况。同时,我们还将为您介绍有关class文件OR.java文件-->>.jar文件、eclipse插件-将非Java扩展文
在这篇文章中,我们将带领您了解Java文件的全貌,包括java文件后缀的相关情况。同时,我们还将为您介绍有关class 文件 OR .java文件-->>.jar文件、eclipse插件-将非Java扩展文件视为Java文件、Java Dos命令执行.java文件、java src 中GvsunPool.java文件 报错的知识,以帮助您更好地理解这个主题。
本文目录一览:- Java文件(java文件后缀)
- class 文件 OR .java文件-->>.jar文件
- eclipse插件-将非Java扩展文件视为Java文件
- Java Dos命令执行.java文件
- java src 中GvsunPool.java文件 报错
Java文件(java文件后缀)
jdk7以后,通过try-with-resources技术,可以在try中实例化资源,让它在结束后自动关闭.
package stream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class TestStream {
public static void main(String[] args) {
File f = new File("d:/lol.txt");
//把流定义在try()里,try,catch或者finally结束的时候,会自动关闭
try (FileInputStream fis = new FileInputStream(f)) {
byte[] all = new byte[(int) f.length()];
fis.read(all);
for (byte b : all) {
System.out.println(b);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
##jdk9中,可以直接在try中使用常量资源,而不需要重新定义了.
// New and improved try-with-resources statement in JDK 9
try (resource1;
resource2) {
// Use of resource1 and resource 2.
}
##流流 ###InputStream输入流/OutputStream输出流.字节输入输出 FileInputStream fis = new FileInputStream(new File("C:/")); ###Reader字符输入流Writer字符输出流(默认按操作系统编码GBK) FileReader fr = new FileReader(f); ###自定义编码字符流InputStreamReader InputStreamReader isr = new InputStreamReader(new FileInputStream(f),Charset.forName("UTF-8")) ###字符缓存流BufferedReader PrintWriter flush
try (
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
)
{
while (true) {
// 一次读一行
String line = br.readLine();
if (null == line)
break;
System.out.println(line);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try (
// 创建文件字符流
FileWriter fw = new FileWriter(f);
// 缓存流必须建立在一个存在的流的基础上
PrintWriter pw = new PrintWriter(fw);
) {
pw.println("garen kill teemo");
pw.println("teemo revive after 1 minutes");
pw.println("teemo try to garen, but killed again");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//向文件lol2.txt中写入三行语句
File f =new File("d:/lol2.txt");
//创建文件字符流
//缓存流必须建立在一个存在的流的基础上
try(FileWriter fr = new FileWriter(f);PrintWriter pw = new PrintWriter(fr);) {
pw.println("garen kill teemo");
//强制把缓存中的数据写入硬盘,无论缓存是否已满
pw.flush();
pw.println("teemo revive after 1 minutes");
pw.flush();
pw.println("teemo try to garen, but killed again");
pw.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
###数据流DataInputStream数据输入流 DataOutputStream数据输出流 数据输入流只能识别数据输出流写入的数据. 优点在于可以直接读取不同类型的数据.
package stream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class TestStream {
public static void main(String[] args) {
write();
read();
}
private static void read() {
File f =new File("d:/lol.txt");
try (
FileInputStream fis = new FileInputStream(f);
DataInputStream dis =new DataInputStream(fis);
){
boolean b= dis.readBoolean();
int i = dis.readInt();
String str = dis.readUTF();
System.out.println("读取到布尔值:"+b);
System.out.println("读取到整数:"+i);
System.out.println("读取到字符串:"+str);
} catch (IOException e) {
e.printStackTrace();
}
}
private static void write() {
File f =new File("d:/lol.txt");
try (
FileOutputStream fos = new FileOutputStream(f);
DataOutputStream dos =new DataOutputStream(fos);
){
dos.writeBoolean(true);
dos.writeInt(300);
dos.writeUTF("123 this is gareen");
} catch (IOException e) {
e.printStackTrace();
}
}
}
###对象流ObjectInputStream/ObjectOutputStream 实现了Serializable接口的类的对象可以进行序列化.
package stream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import charactor.Hero;
public class TestStream {
public static void main(String[] args) {
//创建一个Hero garen
//要把Hero对象直接保存在文件上,务必让Hero类实现Serializable接口
Hero h = new Hero();
h.name = "garen";
h.hp = 616;
//准备一个文件用于保存该对象
File f =new File("d:/garen.lol");
try(
//创建对象输出流
FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream oos =new ObjectOutputStream(fos);
//创建对象输入流
FileInputStream fis = new FileInputStream(f);
ObjectInputStream ois =new ObjectInputStream(fis);
) {
oos.writeObject(h);
Hero h2 = (Hero) ois.readObject();
System.out.println(h2.name);
System.out.println(h2.hp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
###控制台输入流System.in 用Scanner更加方便的使用控制台输入吧. Scanner s = new Scanner(System.in);
参考资料 HOW2J教程 Way Lau
class 文件 OR .java文件-->>.jar文件
准备好源文件,
用命令进入其所在目录。
使用命令:jar -cvf abc.jar abc
说明:abc.jar为你要生成的jar
abc 为源文件所在的目录 。
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] file
s ...
选项包括:
-c 创建新的归档文件
-t 列出归档目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
-f 指定归档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储; 不使用情况任何 ZIP 压缩
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含其中的文件
如果有任何目录文件, 则对其进行递归处理。
清单文件名, 归档文件名和入口点名称的指定顺序
与 ''m'', ''f'' 和 ''e'' 标记的指定顺序相同。
示例 1: 将两个类文件归档到一个名为 classes.jar 的归档文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2: 使用现有的清单文件 ''mymanifest'' 并
将 foo/ 目录中的所有文件归档到 ''classes.jar'' 中:
jar cvfm classes.jar mymanifest -C foo/。
eclipse插件-将非Java扩展文件视为Java文件
我们正在开发一个eclipse插件,并且具有类似“
.xyz”的扩展名,但实际上它包含Java代码。JavaCore.createCompilationUnitFrom()仅接受扩展名为“
.java”的文件。JavaCore具有JAVA_SOURCE_CONTENT_TYPE,它返回将其视为Java源文件的扩展名。
我的问题是如何将“ .xyz”添加到此列表?我希望JavaCore将扩展名为“ .xyz”的文件视为Java源文件。
任何指针将非常有帮助。
答案1
小编典典该缺陷71460已经推出了不同的扩展在eclipse3.1的类似Java的源的支持。
的错误121715提到了eclipse3.2,(用于支撑.aj
文件作为包含Java源):
<content-type id="ajSource" name="AspectJ Source File" base-type="org.eclipse.jdt.core.javaSource" file-extensions="aj"/>
Java Dos命令执行.java文件
学了一年的java,放了半年,渐渐忘记了是怎样的一个开始。还是自己掌握的不够好,并且大多都是一知半解。
随着对语言了解的逐步深入,会越来越倾向虚拟机等底层的实现。
算是一个笔记了,首先搭好java开发环境,然后创建一个test.java文件,里边写入一个类,如下:
class test{
public static void main(String[] args){
System.out.println("9*9乘法口诀表");
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}
输出一个9*9的乘法表
接下来开始执行文件
(1)win+R 打开Dos窗口
(2)cd 文件路径
(3)javac test.java
(4)java test
java src 中GvsunPool.java文件 报错
package pack_convert; import java.io.InputStream; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; public class GvsunPool { private static GvsunPool xmglPool; private static DataSource dataSource; private static Connection con; private GvsunPool(String type){ int initialSize=0; int minIdle=0; int maxIdle=0; int maxWait=0; int maxActive=0; //��ȡ������ӳ������ļ� Properties prop = new Properties(); InputStream in =GvsunPool.class.getResourceAsStream("gvsunPool.properties"); try { prop.load(in); /*is= new FileInputStream("dbcp.properties"); p.load(is); driverClassName = p.getProperty("dbcp.driverClassName"); url = p.getProperty("dbcp.url"); username = p.getProperty("dbcp.username"); password = p.getProperty("dbcp.password"); */ initialSize = 5;//Integer.parseInt(p.getProperty("dbcp.initialSize")); minIdle = 5;//Integer.parseInt(p.getProperty("dbcp.minIdle")); maxIdle = 500;//Integer.parseInt(p.getProperty("dbcp.maxIdle")); maxWait = 100;//Integer.parseInt(p.getProperty("dbcp.maxWait")); maxActive = 5;//Integer.parseInt(p.getProperty("dbcp.maxActive")); } catch (NumberFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ /* try { //is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } */ } BasicDataSource ds = new BasicDataSource(); ds.setUrl(prop.getProperty(type + "Url")); ds.setDriverClassName("com.mysql.jdbc.Driver"); ds.setUsername("root"); ds.setPassword("123456"); ds.setRemoveAbandoned(true); ds.setRemoveAbandonedTimeout(60); ds.setLogAbandoned(true); //ds.set(initialSize); // ds.setMaxActive(maxActive); //ds.setMinIdle(minIdle); ds.setMaxIdle(maxIdle); ds.setMaxWait(maxWait); //ds.setRemoveAbandoned(true); //ds.setRemoveAbandonedTimeout(2000); dataSource = ds; } public static Connection getxmglConnection() { xmglPool = new GvsunPool("xmgl"); try { con = dataSource.getConnection(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return con; } }
请问上面两行红色的代码哪错了?
第一行报错说这样的:
The import org.apache.commons cannot be resolved
第二行报错说这样的:
Multiple markers at this line
- BasicDataSource cannot be resolved to
a type
- BasicDataSource cannot be resolved to
a type
今天关于Java文件和java文件后缀的分享就到这里,希望大家有所收获,若想了解更多关于class 文件 OR .java文件-->>.jar文件、eclipse插件-将非Java扩展文件视为Java文件、Java Dos命令执行.java文件、java src 中GvsunPool.java文件 报错等相关知识,可以在本站进行查询。
本文标签: