java.io.File.getParentFile C# (CSharp) Method

getParentFile() private method

private getParentFile ( ) : global::java.io.File
return global::java.io.File
        public virtual global::java.io.File getParentFile()
        {
            global::net.sf.jni4net.jni.JNIEnv @__env = this.Env;
            using(new global::net.sf.jni4net.jni.LocalFrame(@__env, 10)){
            return global::net.sf.jni4net.utils.Convertor.StrongJ2Cp<global::java.io.File>(@__env, @__env.CallObjectMethodPtr(this, global::java.io.File.j4n_getParentFile22));
            }
        }

Usage Example

コード例 #1
0
        public int run(String[] arguments) {
            sourceFiles.clear();
            if (!handleArguments(arguments)) {
                return 1;
            }
            
            var t0 = System.nanoTime();
            
			try {
				var results = new Compiler().compileFromFiles(parameters, sourceFiles.toArray(new File[sourceFiles.size()]));
				var hasErrors = false;
				foreach (var error in results.Errors) {
					var filename = error.Filename;
					if (filename != null) {
						System.out.print(new File(error.Filename).getAbsolutePath());
					} else {
						System.out.print("Unknown source");
					}
					if (error.Line > 0) {
						System.out.print(" (");
						System.out.print(error.Line);
						if (error.Column > 0) {
							System.out.print(", ");
							System.out.print(error.Column);
						}
						System.out.print(")");
					}
					if (error.Level == 0) {
						hasErrors = true;
						System.out.print(" error ");
					} else {
						System.out.print(" warning ");
					}
					System.out.print(error.Id);
					System.out.print(": ");
					System.out.println(error.Message);
				}
				if (!hasErrors) {
					var outputFile = new File(outputPath);
					if (outputFile.isDirectory() || outputPath.endsWith("\\") || outputPath.endsWith("/")) {
						foreach (var e in results.ClassFiles.entrySet()) {
							var file = new File(outputFile, e.Key.replace('.', '/') + ".class");
							var dir = file.getParentFile();
							if (!dir.exists()) {
								dir.mkdirs();
							}
							using (var s = new FileOutputStream(file)) {
								s.write(e.Value);
							}
						}
					} else {
						var destination = outputPath;
						if (PathHelper.getExtension(destination).length() == 0) {
							destination += ".jar";
						}
						using (var zipStream = new ZipOutputStream(new FileOutputStream(destination))) {
							if (manifestPath != null) {
								var zipEntry = new ZipEntry("META-INF/MANIFEST.MF");
								zipStream.putNextEntry(zipEntry);
								var buffer = new byte[4096];
								var inputStream = new FileInputStream(manifestPath);
								int read;
								while ((read = inputStream.read(buffer)) != -1) {
									zipStream.write(buffer, 0, read);
								}
								inputStream.close();
							}
							if (resourcesPath != null) {
								var rootDir = new File(resourcesPath);
								foreach (var content in rootDir.list()) {
									var file = new File(rootDir, content);
									if (file.isDirectory()) {
										exploreDirectory(zipStream, "", file);
									} else {
										addEntry(zipStream, "", file);
									}
								}
							}
							foreach (var e in results.ClassFiles.entrySet()) {
								var zipEntry = new ZipEntry(e.Key.replace('.', '/') + ".class");
								zipStream.putNextEntry(zipEntry);
								zipStream.write(e.Value);
							}
						}
					}
					System.out.println();
					System.out.println(String.format("%d class(es) successfully generated in %.2fs",
						results.classFiles.size(), (System.nanoTime() - t0) / 1e9));
					return 0;
				} else {
					System.out.println();
					System.out.println("Compilation failed");
					return 1;
				}
			} catch (TypeLoadException e) {
				System.out.println("Cannot find type " + e.TypeName + ". The class is missing from the classpath.");
				System.out.println("Compilation failed");
				return 1;
			}
        }