Hi. I'm going to go through the process of writing hello around the world, the first Java program we did in which we used the edu.duke classes to read a text file or a URL and say hello world in many languages. Something like bonjour monde, which is a language I speak a little tiny bit of, and then other languages as well. You've already seen a walk-through in a previous lesson of the code here. I'm going to show you what happens in Eclipse, to show a little more deeply how this code works, and also, again, to show you the power of Eclipse. I've taken the code that was part of that previous lesson. This is the function that opens a file. In this case the file is hello_unicode.txt. Makes a buffered reader from that file and then loops through the buffered reader input to print out HelloWorld. Eclipse is telling me with these red x's that something's missing. It says, import path because Eclipse doesn't know that path is a class, but Eclipse does know that it's in that package. So it's imported java.nio.file.Path. I still have a red x because it doesn't know about paths. So I'm going to say, please import that as well. Now I've imported two different classes. Buffered reader is something that Eclipse doesn't know about, let's import buffered reader. And it doesn't know about files, so I'm going to input files and buffered reader. If I come up here, I'll see they've got buffered reader, files, path and paths. One more right-click here. Unhandled exception. When you open a file, or when you read a file, an exception is going to be thrown. You've seen lessons about this I need to either to re-throw the exception, or put a try catch block around this. Eclipse gives me the choice. I can add a throws declaration, or surround with a try catch. For right now, I'm going to add a throws declaration. That means, Eclipse came in and added this throws IO exception, and now we can see that my function here to read and print is complete. My function, down here, that reads from a URL, is not quite ready to go. So, I'm just going to comment that out because I'm not interested in it. I'm toggling the comment, and Eclipse comments out every single line. Now, I can come down here, and I can see that I want to call this method, read and print, in my public static void main function. So, I will do that. I'm going to run this program by clicking the run button and we can see down here in my console window, which I'll make a little bit bigger, that it said hello world in all the different languages. Hello, ciao, merhaba, that's about the most I'm going to do. That was reading the file that was local on my computer. Now I'd like to go one more real quickly and read the URL. So I'm going to uncomment that. I've got a couple of red Xs, because Eclipse doesn't know where the URL is, so I'm going to import the URL class from Java.net. I've just added that. Then I'm coming down here, and it doesn't know about input stream reader which is is in java.io, so I'm going to input that. I've got a MalformedURLException. I must add a throws declaration, or catch it. So you can I've added MalformedURLException, and then here I've got an IOException. And you can see that it replaced MalformedURLException with the more general IOException. There's an inheritance hierarchy for exceptions, and IOExceptions kind of the parent class of all the possible IO exceptions, so now this method is done. Read and print URL, I'm going to call that by editing my main. Now when I run my program, it will go to our Duke Learning Program website, read the file that we've stored there, and run. Might take a little bit longer. But as you can see, I've still got hello around the world in all these different languages. As we say where I come from, Hola! Enjoy your programming.