C# to Java Learn programming C# Sharp

Lesson:

File Management


Exercise:

C# to Java 22


Objetive:

Create a basic C# to Java translator.

It must accept a C# source files, and create an equivalent Java source file. It will receive the file name in the command line, and it must translate at least:

"Main()" into "main( String[] args )"
"string" into "String"
"bool" into "boolean"
"Console.WriteLine" into "System.out.println"
" : " into " extends " if it is in the same line as the word "class" (and any further improvements you may think of, such as strings handling, or converting a ReadLine to a try-catch block).


Code:

using System;
using System.IO;
class CsharpToJava
{
    static void Main(string[] args)
    {   
        string line;
        string name;
        
        if (args.Length < 1)
            name = Console.ReadLine();
        else
            name = args[0];

        StreamReader iFile = File.OpenText(name);
        StreamWriter oFile = File.CreateText(name + ".java");

        do
        {
            line = iFile.ReadLine();

            if (line != null)
            {
                line = line.Replace("bool ", "boolean ");
                line = line.Replace("string ", "String ");
                line = line.Replace("Console.WriteLine", "System.out.println");

                oFile.WriteLine(line);
            }

        } while (line != null);

        iFile.Close();
        oFile.Close();
    }
}