我们在一个web应用程序里面使用一个java库,它托管在apache server.ReadConfFile方法库中,返回文件找不到错误.方法如下
public byte[] ReadConfFile()
{
try
{
File file = new File("/home/product/api/conf.txt");
if(!file.exists())
return "file not found".getBytes();
byte[] buf = new byte[(int) file.length()];
FileInputStream fis = new FileInputStream(file);
fis.read(buf);
return buf;
} catch (IOException e)
{
e.printStackTrace();
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
是否允许从Web应用程序访问本地文件系统?如果是,那么是否有必须设置的访问权限?
好的,所以我正在实现一个系统,我保存在.txt文件中的计数.
计数是一个整数.
我唯一的问题是,而不是取代以前的计数; 例如
"78" -> "79"
Run Code Online (Sandbox Code Playgroud)
它将新计数添加到先前的计数; 例如
"78" -> "7879"
Run Code Online (Sandbox Code Playgroud)
我的代码是:
private static void saveCount(int inCount) throws FileNotFoundException, IOException {
BufferedReader fbr = new BufferedReader(new FileReader("count.txt"));
try (FileWriter fw = new FileWriter("count.txt", (fbr.readLine() != null))) {
String count = Integer.toString(inCount);
fw.write(count);
}
}
Run Code Online (Sandbox Code Playgroud) 我有两个相互泛化的课程.但是当他们聚在一起时,他们的参数化存在问题.这是课程:
public abstract class AView<T extends IController> {
protected T controller;
}
public abstract class AController<T extends AView> implements IController {
protected T view;
}
Run Code Online (Sandbox Code Playgroud)
在这里,AController应该被参数化为<T extends AView<AController<T>>>(但它看起来太过重了?)这里是参数化示例:
public abstract class AWindowView<T extends AController> extends AView<T> {}
Run Code Online (Sandbox Code Playgroud)
这里的AController应该参数化,但是如何?而且,它会非常超载.也不建议使用通配符.
这段代码的原因是在他们孩子的彼此的课程中有一个参考.我以前的版本在控制器视图中只有一个引用,并且该实现只有一个简单的泛型.但现在我不知道如何解决这个问题.
我想确保两个java.io.File没有指向同一个文件,我尝试了各种方法,最后找到了一种方法,但我想确保它周围没有漏洞.
这很重要,因为我正在尝试编写一个删除重复文件的程序,我不想因为两个java.io.File指向同一个文件而最终删除一个唯一的文件.
File f1 = new File("file.txt");
File f2 = new File("./file.txt");
//these methods can't tell it's the same file
System.out.println(f1.compareTo(f2)); // 56 which mean not equal
System.out.println(f1.equals(f2)); // false
System.out.println(f1 == f2); // false
System.out.println(f1.getAbsolutePath().compareTo(f2.getAbsolutePath())); // 56
// this method can tell it's the same file... hopefully.
try{
System.out.println(f1.getCanonicalPath().compareTo(f2.getCanonicalPath())); // 0
}catch (Exception e){
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
另一方面,我的try-catch代码有问题吗?我跑的时候会给我一个警告.
我有这个代码:
switch(month){
case 1:
System.out.print("January");
break;
case 2:
System.out.print("February");
break;
case 3:
System.out.print("March");
break;
case 4:
System.out.print("April");
break;
case 5:
System.out.print("May");
break;
case 6:
System.out.print("June");
break;
case 7:
System.out.print("July");
break;
case 8:
System.out.print("August");
break;
case 9:
System.out.print("September");
break;
case 10:
System.out.print("October");
break;
case 11:
System.out.print("November");
break;
case 12:
System.out.print("December");
break;
}
Run Code Online (Sandbox Code Playgroud)
好的,所以这个代码100%完美地工作...对于int月.我有另一个int(avgMonth)只能保持相同的值(1-12),我想只有相同的输出(月份).如何在不必复制整个交换机和案例的情况下将avgMonth添加到此代码中?我尝试使用逗号(月,avgMonth)和&&(月&& avgMonth)以及+'s(月+ avgMonth),但无济于事.
public double Convertir(double Number) {
Number = nombre;
while ((Number - 365) >= 0) {
annee += 1; //this calculates the number of years
}
return annee;
double nombreSemaine = Number - (annee * 365);
while ((nombreSemaine - 7) >= 0) {
semaine = semaine + 1;
}//this calculates the number of weeks
return semaine;
double nombreJour = Number - (annee * 365) - (semaine * 7);
nombreJour = jour;
return jour;
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,我试图将用户编写的数字(天数)转换为它所生成的年数,周数和天数.例如,数字365应返回1年0周0天.
我正在用Java进行一些输入处理,我遇到了一些麻烦.我有两个变量(xMove和zMove),我已经多次在代码中使用它们,但eclipse拒绝承认它们的使用.我有一种感觉,这是导致我出现问题的原因,所以请看看,这样我就能看出我做错了什么
public void tick(boolean forward, boolean back, boolean left, boolean right, boolean turnLeft, boolean turnRight) {
double xMove = 0.0;
double zMove = 0.0;
if (forward) {
zMove++;
}
if (back) {
zMove--;
}
if (left) {
xMove++;
}
if (right) {
xMove--;
}
if (turnLeft) {
zMove++;
}
if (turnRight) {
zMove++;
}
}
Run Code Online (Sandbox Code Playgroud)